Creates a copy of an existing function such that its results are memoized.
Additional arguments for controlling the memoization,
i.e. all arguments of
The new function is setup such that the the memoized call is done in the environment of the caller (the parent frame of the function).
NULL, that particular function call is
The returned function utilized