Brainf*ck interpreter in Haskell using monad transformers