I've just once again fixed a situation in the library which looked as follows: module Foo(Bar(..)) where data Bar = Baz Blah type Blah = String Although Bar is usable, I very much doubt that it is intended that Blah is not exported from Foo. Haddock complains about such situations, BTW. Would it make sense to add a warning to GHC in such cases? Cheers, S.