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.