Scheme (R5RS) interpreter in Haskell