See Douglas Crockford's opinion this subject: http://www.youtube.com/watch?v=dkZFtimgAcM
He describes monads as "a loophole" in the idea of function purity. This isn't true; monads aren't a way to 'cheat' any more than passing an accumulator through like
factorial acc 1 = acc
factorial acc n = factorial (acc * n) (n - 1)
is. He says something about state and functions and closures that I can't understand and how the state is 'always different', and it's just nonsense as far as I can tell.He also calls values 'monads', which isn't accurate terminology at all; they're usually called monadic actions.