docs: function range( arr, clbk ) {
  	if ( !isArray( arr ) ) {
  		throw new TypeError( 'range()::invalid input argument. Must provide an array. Value: `' + arr + '`.' );
  	}
  
  	if ( arguments.length > 1 && !isFunction( clbk ) ) {
  		throw new TypeError( 'range()::invalid input argument. Accessor must be a function. Value: `' + clbk + '`.' );
  	}
  	var len = arr.length,
  		min,
  		max,
  		x, i;
  
  	if ( len === 0 ) {
  		return null;
  	}
  	if ( clbk ) {
  		min = clbk( arr[ 0 ] );
  		max = min;
  		for ( i = 1; i < len; i++ ) {
  			x = clbk( arr[ i ] );
  			if ( x < min ) {
  				min = x;
  			} else if ( x > max ) {
  				max = x;
  			}
  		}
  	} else {
  		min = arr[ 0 ];
  		max = min;
  		for ( i = 1; i < len; i++ ) {
  			x = arr[ i ];
  			if ( x < min ) {
  				min = x;
  			} else if ( x > max ) {
  				max = x;
  			}
  		}
  	}
  	return [ min, max ];
  }