Add `memoize`