Talk:What a Monad is not
I disagree with: "So ordering is not in any way essential to what a monad is."
There is commutative monads, great! Other than that the order is important. Moreover there is nothing wrong to see >>= as a sequencing operator.
I also disagree the "IO is impure" paragraph: Indeed only IO will trigger visible side effects, but this is only due to the common evaluation of IO primitives. Moreover I would say that only the runtime system is impure because it does reduce 'main :: IO ()', other than that we are just building a computation plan in a pure way.
Although I agree that the common issue is too mix monad and impurity, and the impurity question is only releated to IO.