> > I am not trying to say "every building is a shelter", rather "anything > that is a building must provide sheltering services".
Well if it walks like a shelter and quacks like a shelter... /shrug The "is a" relationship is not a good way to think about type classes, in my opinion. The "interface" or "services" viewpoint is, though. Class instances "register" a service for a certain type, and constraints are simply a requirement that certain other services also be registered. Usually, this is because services of the class in question invoke some of the services listed in that class's constraints.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe