ref: a106f8db4ec30b159c0fcef120c3e8b55b3ffdb8
dir: /TODO/
* Add a repl * Stop comparing strings all the time * Stop copying the entire goal stack into every choicepoint * Stop creating choicepoints when it is not needed * How to implement builtins nicely? * Right now we copy and allocate a lot, but almost never free stuff.