function memoized() {
		var args;
		var out;
		var key;
		var i;
		args = new Array( arguments.length );
		for ( i = 0; i < arguments.length; i++ ) {
			args[ i ] = arguments[ i ];
		}
		key = toKey( args ).toString();
		if ( hasOwnProp( cache, key ) ) {
			return cache[ key ];
		}
		out = fcn.apply( null, args );
		cache[ key ] = out;
		return out;
	}
Memoized function.

@private
@param {...*} args - function arguments
@returns {*} memoized function result