Writing a simple evaluator and type-checker in Haskell | Hacker News Reader