Can't trust core.logic lvars with the same name to be equal, apparently, so hash them on their string names instead of on themselves.
Turn lambda/defun into actual syntax. Consequentially, BODOL code as Clojure sexps no longer works, so put prelude and tests in their own files and parse them.