I don't understand why to call "impure" to the types instances of a class. Monad is simply a class with their methods. Even the "pure" list is a monad. The only difference between Monad and other classes is do notation, and only affects notation.
The "impure" side is a type, not a class: IO.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe