Writing a Lisp to learn Haskell