Nested functions that allocate their environment dynamically can be
quite useful. However, oftentimes the need is to convert the code plus
the data needed into an anonymous struct that copies the state inside,
similar to C++ lambdas that capture by value.
I wonder how to integrate that within the language nicely.