function promoteDataTypes( dtypes ) {
	var dt;
	var N;
	var i;

	N = dtypes.length;
	if ( N === 0 ) {
		return null;
	}
	dt = dtypes[ 0 ];
	for ( i = 1; i < dtypes.length; i++ ) {
		dt = promotionRules( dt, dtypes[ i ] );
		if ( dt === null || dt === -1 ) {
			return null;
		}
	}
	return dt;
}
Returns a data type that results from applying promotion rules to a provided list of data types.

@param {StringArray} dtypes - list of data types
@returns {(string|null)} result

@example
var dt = promoteDataTypes( [ 'float32', 'float64' ] );
// returns 'float64'

@example
var dt = promoteDataTypes( [ 'binary', 'complex128' ] );
// returns null