following along a haskell scheme compiler tutorial