I'll repeat, just for the heck of it, that what I want is a type something like:
diff :: forall A a. (A :> Floating, A a) => (forall b. A b => b -> b) -> b -> b where A is quantified over all type classes, and :> denotes "is a superclass of". The syntax is made up, of course, and entirely unworkable since (:>) is a user-definable contructor name... but that's the intuition anyway. -- Chris Smith _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe