Lambda calculus interpreter (Haskell excercise)