code: function validate( opts, options ) {
  	if ( !isObject( options ) ) {
  		return new TypeError( 'mean()::invalid input argument. Options argument must be an object. Value: `' + options + '`.' );
  	}
  	if ( options.hasOwnProperty( 'accessor' ) ) {
  		opts.accessor = options.accessor;
  		if ( !isFunction( opts.accessor ) ) {
  			return new TypeError( 'mean()::invalid option. Accessor must be a function. Option: `' + opts.accessor + '`.' );
  		}
  	}
  	if ( options.hasOwnProperty( 'dim' ) ) {
  		opts.dim = options.dim;
  		if ( !isPositiveInteger( opts.dim ) ) {
  			return new TypeError( 'mean()::invalid option. Dimension option must be a positive integer. Option: `' + opts.dim + '`.' );
  		}
  	}
  	if ( options.hasOwnProperty( 'dtype' ) ) {
  		opts.dtype = options.dtype;
  		if ( !isString( opts.dtype ) ) {
  			return new TypeError( 'mean()::invalid option. Data type option must be a string primitive. Option: `' + opts.dtype + '`.' );
  		}
  	}
  	return null;
  }
docs: VALIDATE // 
  FUNCTION: validate( opts, options )
  Validates function options.
  
  @param {Object} opts - destination for validated options
  @param {Object} options - function options
  @param {Function} [options.accessor] - accessor function for accessing array values
  @param {Number} [options.dim] - dimension
  @param {String} [options.dtype] - output data type
  @returns {Null|Error} null or an error