-- !! This one is fine in Haskell 1.4 -- module Foo ( Bar(..) ) where { data Bar = Bar X; data X = Y }