Please excuse my newbiness, but in this snippet:
data (Monad m) => DataType m = DataType { f :: Char -> m () } test_function :: (Monad m) => DataType m -> m () ^^^^^^^^^^^^ test_function d = f d 'C' Why is "(Monad m) =>" required, when the definition of DataType already implies it? Is there an easier way to do this or will I have to have it in all signatures containing DataType? Thanks, Brock _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe