This needs quite a bit more testing.

Please can you add:

1. A replicating test case funcs = {foo, bar}
2. A garbage collection verification case
3. The referenced function calling another function
4. The reference function recusing
5. the referenced function taking a function as an argument and execing it
6. A imperative block inside a function execed this way

We've seen failures in all these cases in the past. I don't have any reason to believe they won't work, but I'd like us to be sure before we start relying on this as a compile target.

Feel free to request TD assistance if needs be