[Haskell-beginners] StateT MyState IO a vs ReaderT (IORef MyState) IO a