Aaron Denney wrote:
I know of no good way to express that a given data type obeys the same interface two (or more) ways.
The best approach here is to use data structures instead of classes: data Monoid a = MkMonoid { monoidNull :: a, monoidFunc :: a -> a -> a } -- Ashley Yakeley _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe