[Haskell-cafe] Replace data constructors via meta programming