Original-Via: uk.ac.nsf; Wed, 23 Oct 91 23:39:10 BST What happens is you import a module, A, and it contains a value, say x::T and also a type synonym for T, say type T = Int but then you hide T on import. I.e. import A hiding(T) The type synonym T is not imported any other way. Is this an error or is there a special case for type synonyms (like expanding them). My specific worry about this is that you can do import Prelude hiding(ShowS) thereby rendering the Text instance useless (even wrong if you use anything in it). The problem is that the type synonyms ReadS and ShowS are in Prelude and not PreludeCore. What I really hope is that this is a mistake and that they should be in PreludeCore. In hope of an answer from the great and knowledgable Haskellites -- Lennart