I read this quote on reddit, I feel like restating it:
I was surprised to see him seem to say explicitly that monads are a way to pass packets of state around. And that perpetuates the myth that there's some magic to monads that allows you to manipulate state in a pure way. Haskell "gets around" the problem of state by getting you to switch from writing a sequence of state-manipulating commands to composing functions, each of which defines a transformation of the state. That's it. No magic. Nothing clever. And monads don't come into it. But, if you wish, you can use monads to give a really nice notation for structuring those compositions.
Thank you sigfpe, for saying this.
