ref: 347e5bc533070a5e988d82e7588a4e905c7096f3
dir: /TODO/
1) Add a repl 2) Figure out how to print the final bindings after running a query 3) Stop comparing strings all the time 4) Stop copying the entire goal stack into every choicepoint 5) Stop creating choicepoints when it is not needed 6) How to implement builtins nicely? 7) Right now we copy and allocate a lot, but almost never free stuff.