memoize method

F2<A, B, T> memoize()

Returns a memoized version of the function.

Caches the result of the function based on its arguments and actually runs the computation only once for a given combination of arguments.

Because of that, the source function must be pure.

Implementation

F2<A, B, T> memoize() {
  final cached = createCached<T>();

  return (a, b) => cached([a, b]);
}