Hi,In a practice, I encountered a problem of memorizing functions. Given a function `f`, a memorized version of `f`, called `memo f` should cache the results of `f` applying on some `input`. I tried a demo here https://glot.io/snippets/egflakau5h, which shows a generic implementation of the function `memo0` (for memorizing a function of no arguments) and `memo1` (for memorizing a function with one argument). Comments are welcomed.