function cmudict( options ) {
	var opts;
	var err;

	if ( arguments.length > 0 ) {
		opts = {};
		err = validate( opts, options );
		if ( err ) {
			throw err;
		}
		if ( opts.data ) {
			if ( !hasOwnProp( dataCMU, opts.data ) ) {
				throw new RangeError( format( 'invalid option. `%s` option must be one of the following: "%s". Option: `%s`.', 'data', objectKeys( dataCMU ).join( '", "' ), opts.data ) );
			}
			return copy( dataCMU[ opts.data ] );
		}
	}
	return copy( dataCMU );
}
Returns datasets from the Carnegie Mellon Pronouncing Dictionary (CMUdict).

@param {Options} [options] - options object
@param {string} [options.data] - dataset name
@throws {TypeError} must provide an object
@throws {TypeError} must provide valid options
@throws {RangeError} must provide a recognized dataset name
@returns {(Object|ObjectArray)} dataset(s)

@example
var data = cmudict();
// returns <Object>

@example
var data = cmudict({
    'data': 'phones'
});
// returns <Object>