import Kind ( Kind, mkBoxedTypeKind, mkArrowKind, resultKind, argKind )
import Maybes
import Kind ( Kind, mkBoxedTypeKind, mkArrowKind, resultKind, argKind )
import Maybes
-import Name ( Name, nameUnique, mkWiredInTyConName )
+import Name ( Name, nameUnique, mkWiredInTyConName, NamedThing(getName) )
import PrimRep ( PrimRep(..) )
import PrelMods ( gHC__, pREL_TUP, pREL_BASE )
import Lex ( mkTupNameStr )
import PrimRep ( PrimRep(..) )
import PrelMods ( gHC__, pREL_TUP, pREL_BASE )
import Lex ( mkTupNameStr )
-- This list can be empty, when we import a data type abstractly,
-- either (a) the interface is hand-written and doesn't give
-- the constructors, or
-- This list can be empty, when we import a data type abstractly,
-- either (a) the interface is hand-written and doesn't give
-- the constructors, or