ref: 66a7040df6897e60ee1a513b95f4b04e687bbf0a
dir: /TODO/
* 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. * Many builtins should really throw an error, but they just fail for now. * Exceptions (throw, catch) * Modules