Another one that should fail but doesn't: module A(method) where class Class a where method :: a -> a module B where import A f :: Class a => a -> a f = method Exporting a method shouldn't add in its class (ditto fields and types I suppose).