Hugs and GHC (but not NHC) erroneously accept the following: class Foo a where f :: Eq a => a -> Bool