hello, i think this is a bug: class C a b | a -> b where f :: b Hugs reports: Ambiguous type signature in class declaration *** ambiguous type : C a b =| b *** assigned to : f GHC accepst it, which seems reasonable. bye iavor