[Haskell-cafe] More Flexible Monad Transformer OR Bad Coding Style