[EMAIL PROTECTED] writes: > addToFM :: Ord key => FiniteMap key elt -> key -> elt -> FiniteMap key > elt
> addToSet :: Ord a => Set a -> a -> Set a > So, how can you come up with a type class which provides a > polymorphic 'add' function, considering you don't even know how many > parameters each data type's individual add function uses? Why, by chea^H^H^Hurrying, of course: class Collection a b | a -> b where add :: a -> b -> a instance Collection Set a where add = addToSet instance Collection FiniteMap k e where add fm (k,e) = addToFM fm k e But I take your point, this could be hard to do in the general case. E.g. 'delete' would probably only want a key. -kzm -- If I haven't seen further, it is by standing in the footprints of giants _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell