[Haskell-cafe] Morphing ASTs and scrapping boilerplate code