docs: function env( map, options ) {
  	var parse;
  	var opts;
  	var keys;
  	var err;
  	var key;
  	var out;
  	var len;
  	var val;
  	var p;
  	var o;
  	var i;
  	if ( !isObject( map ) ) {
  		throw new TypeError( 'invalid input argument. Map argument must be an object. Value: `' + map + '`.' );
  	}
  	opts = {
  		'parsers': {}
  	};
  	if ( arguments.length > 1 ) {
  		err = validate( opts, options );
  		if ( err ) {
  			throw err;
  		}
  	}
  	p = merge( {}, PARSERS, opts.parsers );
  	keys = Object.keys( map );
  	len = keys.length;
  	out = {};
  	for ( i = 0; i < len; i++ ) {
  		key = keys[ i ];
  		o = map[ key ];
  		val = process.env[ key ];
  		if ( val === void 0 ) {
  			continue;
  		}
  		if ( o.type === void 0 ) {
  			parse = p[ 'string' ];
  			val = parse( val, o );
  		} else {
  			parse = p[ o.type ];
  			if ( parse === void 0 ) {
  				throw new Error( 'invalid type. Unsupported/unrecognized environment variable value type. Type: `' + o.type + '`.' );
  			}
  			val = parse( val, o );
  		}
  		if ( val instanceof Error ) {
  			throw error( val, key );
  		}
  		deepSet( out, o.keypath, val, {
  			'create': true,
  			'sep': '.'
  		});
  	}
  	return out;
  }