At 2002-04-08 02:15, Simon Peyton-Jones wrote: >Just leave out the existential in your defn of D! >The (C a b) in the defn of f will do the job. I have another example, but this fails in 5.02.2: class C a b | a -> b data D a = forall b. (C a b) => MkD b f :: (C a b) => D a -> b f (MkD b) = b Should this compile? It looks meaningful to me. -- Ashley Yakeley, Seattle WA