Hugs accepts the following modules: module A(Stuff(Foo, Bar)) where data Stuff = Foo | Bar module B(Stuff) where import A hiding(Stuff(..)) but Stuff should also be hidden.