[Haskell-beginners] understanding MTL