Bug reported by Bulat Ziganshin: load of C fails incorrectly in module A (f) where class A a where f :: a module B (module A) where import A module C where import B (f) Same if A is module A (f) where data R = R { f :: Int }