[Haskell-cafe] comprehending monad execution