I can't tell if this is a troll or just a misunderstanding, but it's wrong on two counts: Clojure is not purely functional, and side-effects are done more often with monads than STM in Haskell.
are you sure I have the misunderstanding? Which Monad do you think people use for side effects in haskell? Do you think STM in Haskell is not handled by the STM monad?