hashKey = function(recordKey) {
		// Check to see if we are dealing with object or function type.  
		if (typeof recordKey === 'object' ? recordKey !== null : typeof recordKey === 'function') {
			// Check to see if we are dealing with a non extensible object
			if (!Object.isExtensible(recordKey)) {
				// Return `false`
				return false;
			}
			if (!recordKey[_metaKey]) {
				var uniqueHashKey = typeof(recordKey)+'-'+(++_uniqueHashId);
				Object.defineProperty(recordKey, _metaKey, {
					configurable: false,
					enumerable: false,
					writable: false,
					value: uniqueHashKey
				});
			}
			// Return previously defined hashed key
			return recordKey[_metaKey];
		}
		// If this is just a primitive, we can cast it to a string and return it
		return ''+recordKey;
	}
hashKey()
Function that given a key of `any` type, returns a string key value to enable hash map optimization for accessing Map data structure
@param {string|integer|function|object} recordKey - Record key to normalize to string accessor for hash map
@returns {string|false} - Returns a hashed string value or false if non extensible object key