diff --git a/ghc/compiler/rename/ParseIface.y b/ghc/compiler/rename/ParseIface.y
index 35043d8f5a29d79a3c7c044a2499bd3e58f44e67..96fac18cedb2ad0ba9bde46e0b2350a6074c5d02 100644
--- a/ghc/compiler/rename/ParseIface.y
+++ b/ghc/compiler/rename/ParseIface.y
@@ -9,7 +9,7 @@ import HsDecls		( HsIdInfo(..), HsStrictnessInfo(..) )
 import HsTypes		( mkHsForAllTy )
 import HsCore
 import Literal
-import BasicTypes	( IfaceFlavour(..), Fixity(..), FixityDirection(..), NewOrData(..), Version(..) )
+import BasicTypes	( IfaceFlavour(..), Fixity(..), FixityDirection(..), NewOrData(..), Version )
 import HsPragmas	( noDataPragmas, noClassPragmas )
 import Kind		( Kind, mkArrowKind, mkBoxedTypeKind, mkTypeKind )
 import IdInfo           ( ArgUsageInfo, FBTypeInfo, ArityInfo, exactArity )
diff --git a/ghc/compiler/rename/Rename.lhs b/ghc/compiler/rename/Rename.lhs
index 5a98a5b89a189f535c34d88cac3a2d840aa6c9bd..2fab42ef494c55d109610b243db356cc1513eed8 100644
--- a/ghc/compiler/rename/Rename.lhs
+++ b/ghc/compiler/rename/Rename.lhs
@@ -25,9 +25,10 @@ import RnIfaces		( getImportedInstDecls, importDecl, getImportVersions, getSpeci
 			)
 import RnEnv		( addImplicitOccsRn, availNames )
 import Name		( Name, PrintUnqualified, Provenance, isLocallyDefined,
-			  NameSet(..),
-			  nameSetToList, minusNameSet, NamedThing(..),
-			  nameModule, pprModule, pprOccName, nameOccName
+			  NameSet,
+			    nameSetToList, minusNameSet,
+			  NamedThing(..),
+			   nameModule, pprModule, pprOccName, nameOccName
 			)
 import TysWiredIn	( unitTyCon, intTyCon, doubleTyCon )
 import TyCon		( TyCon )
diff --git a/ghc/compiler/rename/RnBinds.lhs b/ghc/compiler/rename/RnBinds.lhs
index a92ac88960d5fe0fc4bd57a013ea29064b464f24..4f302044b81d1b764a01a875e98b63c9e849a48d 100644
--- a/ghc/compiler/rename/RnBinds.lhs
+++ b/ghc/compiler/rename/RnBinds.lhs
@@ -32,7 +32,7 @@ import CmdLineOpts	( opt_SigsRequired )
 import Digraph		( stronglyConnComp, SCC(..) )
 import Name		( OccName(..), Provenance, 
 			  Name, isExportedName,
-			  NameSet(..), emptyNameSet, mkNameSet, unionNameSets, 
+			  NameSet, emptyNameSet, mkNameSet, unionNameSets, 
 		 	  minusNameSet, unionManyNameSets, elemNameSet, unitNameSet, nameSetToList
 			)
 import BasicTypes	( RecFlag(..), TopLevelFlag(..) )
diff --git a/ghc/compiler/rename/RnIfaces.lhs b/ghc/compiler/rename/RnIfaces.lhs
index 55ad5f97aeae26eaa5b006d3d5e2082ae3b4b11a..8092a6d5cd7fb9beac4342a392cd87c4512242c0 100644
--- a/ghc/compiler/rename/RnIfaces.lhs
+++ b/ghc/compiler/rename/RnIfaces.lhs
@@ -44,12 +44,12 @@ import FiniteMap	( FiniteMap, sizeFM, emptyFM, delFromFM,
 			)
 import Name		( Name {-instance NamedThing-}, Provenance, OccName(..),
 			  nameModule, moduleString, pprModule, isLocallyDefined,
-			  NameSet(..), emptyNameSet, unionNameSets, nameSetToList,
+			  NameSet, emptyNameSet, unionNameSets, nameSetToList,
 			  minusNameSet, mkNameSet, elemNameSet, nameUnique, addOneToNameSet,
 			  isWiredInName, maybeWiredInTyConName, maybeWiredInIdName,
 			  NamedThing(..)
 			 )
-import Id		( GenId, Id(..), idType, dataConTyCon, isAlgCon )
+import Id		( GenId, Id, idType, dataConTyCon, isAlgCon )
 import TyCon		( TyCon, tyConDataCons, isSynTyCon, getSynTyConDefn )
 import Type		( namesOfType )
 import TyVar		( GenTyVar )
diff --git a/ghc/compiler/rename/RnNames.lhs b/ghc/compiler/rename/RnNames.lhs
index a45926dfc443785388c813a1992202d84d01b216..549137ac77198b2c34c4c729b91f9d60c71673c6 100644
--- a/ghc/compiler/rename/RnNames.lhs
+++ b/ghc/compiler/rename/RnNames.lhs
@@ -19,7 +19,7 @@ import HsSyn	( HsModule(..), ImportDecl(..), HsDecl(..),
 		  FixityDecl(..),
 		  collectTopBinders
 		)
-import RdrHsSyn	( RdrNameHsDecl(..), RdrName(..), RdrNameIE(..), RdrNameImportDecl,
+import RdrHsSyn	( RdrNameHsDecl, RdrName(..), RdrNameIE, RdrNameImportDecl,
 		  RdrNameHsModule, RdrNameFixityDecl,
 		  rdrNameOcc, ieOcc
 		)
diff --git a/ghc/compiler/simplStg/SimplStg.lhs b/ghc/compiler/simplStg/SimplStg.lhs
index e843a6fd69b594fe1fdf15f49082edc6f5d33a45..fb626f32adc7862367c46b4144cf7841e7f07119 100644
--- a/ghc/compiler/simplStg/SimplStg.lhs
+++ b/ghc/compiler/simplStg/SimplStg.lhs
@@ -12,7 +12,7 @@ import StgSyn
 
 import LambdaLift	( liftProgram )
 import Name		( isLocallyDefined )
-import UniqSet          ( UniqSet(..), mapUniqSet )
+import UniqSet          ( UniqSet, mapUniqSet )
 import CostCentre       ( CostCentre )
 import SCCfinal		( stgMassageForProfiling )
 import StgLint		( lintStgBindings )
diff --git a/ghc/compiler/typecheck/TcClassDcl.lhs b/ghc/compiler/typecheck/TcClassDcl.lhs
index 2482fe174add5480f208b9bcdc49361dff208584..82c9212321a63450b5475163342884e972cb9eb3 100644
--- a/ghc/compiler/typecheck/TcClassDcl.lhs
+++ b/ghc/compiler/typecheck/TcClassDcl.lhs
@@ -15,9 +15,9 @@ import HsSyn		( HsDecl(..), ClassDecl(..), Sig(..), MonoBinds(..),
 			)
 import HsPragmas	( ClassPragmas(..) )
 import BasicTypes	( NewOrData(..), TopLevelFlag(..), RecFlag(..) )
-import RnHsSyn		( RenamedClassDecl(..), RenamedClassPragmas(..),
-			  RenamedClassOpSig(..), RenamedMonoBinds,
-			  RenamedContext(..), RenamedHsDecl, RenamedSig
+import RnHsSyn		( RenamedClassDecl, RenamedClassPragmas,
+			  RenamedClassOpSig, RenamedMonoBinds,
+			  RenamedContext, RenamedHsDecl, RenamedSig
 			)
 import TcHsSyn		( TcMonoBinds )
 
diff --git a/ghc/compiler/typecheck/TcDefaults.lhs b/ghc/compiler/typecheck/TcDefaults.lhs
index f6e337e5b340156f146c01a3e31b16230e9d7168..28046a12fe7f9baf27cc8b5c0cef705f3de7a3ec 100644
--- a/ghc/compiler/typecheck/TcDefaults.lhs
+++ b/ghc/compiler/typecheck/TcDefaults.lhs
@@ -9,7 +9,7 @@ module TcDefaults ( tcDefaults ) where
 #include "HsVersions.h"
 
 import HsSyn		( HsDecl(..), DefaultDecl(..) )
-import RnHsSyn		( RenamedHsDecl(..) )
+import RnHsSyn		( RenamedHsDecl )
 
 import TcMonad
 import TcEnv		( tcLookupClassByKey )
diff --git a/ghc/compiler/typecheck/TcDeriv.lhs b/ghc/compiler/typecheck/TcDeriv.lhs
index f83767c8f080c3c8c92e2fbfd0d828a0072bae0c..6c45ca93779588358ff0a7d4cf94dad036191699 100644
--- a/ghc/compiler/typecheck/TcDeriv.lhs
+++ b/ghc/compiler/typecheck/TcDeriv.lhs
@@ -24,7 +24,7 @@ import TcSimplify	( tcSimplifyThetas )
 
 import RnBinds		( rnMethodBinds, rnTopMonoBinds )
 import RnEnv		( newDfunName, bindLocatedLocalsRn )
-import RnMonad		( RnM, RnDown, SDown, RnNameSupply(..), 
+import RnMonad		( RnM, RnDown, SDown, RnNameSupply, 
 			  renameSourceCode, thenRn, mapRn, returnRn )
 
 import Bag		( Bag, emptyBag, unionBags, listToBag )
diff --git a/ghc/compiler/typecheck/TcIfaceSig.lhs b/ghc/compiler/typecheck/TcIfaceSig.lhs
index 14e4c9f4999810c9be4062d94e1ee2f7d167f7b4..1646bfb3a0a4441d69e3882190db3570b9e6e405 100644
--- a/ghc/compiler/typecheck/TcIfaceSig.lhs
+++ b/ghc/compiler/typecheck/TcIfaceSig.lhs
@@ -18,7 +18,7 @@ import TcEnv		( tcExtendTyVarEnv, tcExtendGlobalValEnv, tcSetGlobalValEnv,
 			)
 import TcKind		( TcKind, kindToTcKind )
 
-import RnHsSyn		( RenamedHsDecl(..) )
+import RnHsSyn		( RenamedHsDecl )
 import HsCore
 import HsDecls		( HsIdInfo(..), HsStrictnessInfo(..) )
 import Literal		( Literal(..) )
diff --git a/ghc/compiler/typecheck/TcInstUtil.lhs b/ghc/compiler/typecheck/TcInstUtil.lhs
index 51ce9677fd22e086f42ddaabe51ade600ff7d2c2..d84bf5418b7d50aac1f85fcd790df67e99a2f79b 100644
--- a/ghc/compiler/typecheck/TcInstUtil.lhs
+++ b/ghc/compiler/typecheck/TcInstUtil.lhs
@@ -15,7 +15,7 @@ module TcInstUtil (
 
 #include "HsVersions.h"
 
-import RnHsSyn		( RenamedMonoBinds, RenamedSig(..) )
+import RnHsSyn		( RenamedMonoBinds, RenamedSig )
 
 import CmdLineOpts	( opt_AllowOverlappingInstances )
 import TcMonad
diff --git a/ghc/compiler/typecheck/TcModule.lhs b/ghc/compiler/typecheck/TcModule.lhs
index 7ed38a5964e4bbb50cf609c7dc21fd5ac76bebcf..c3767e1c95fa2b78e618db2f3f733cb58396ae2f 100644
--- a/ghc/compiler/typecheck/TcModule.lhs
+++ b/ghc/compiler/typecheck/TcModule.lhs
@@ -35,7 +35,7 @@ import TcTyDecls	( mkDataBinds )
 import TcType		( TcType, tcInstType )
 import TcKind		( TcKind, kindToTcKind )
 
-import RnMonad		( RnNameSupply(..) )
+import RnMonad		( RnNameSupply )
 import Bag		( isEmptyBag )
 import ErrUtils		( WarnMsg, ErrMsg, 
 			  pprBagOfErrors, dumpIfSet
diff --git a/ghc/compiler/typecheck/TcMonoType.lhs b/ghc/compiler/typecheck/TcMonoType.lhs
index ed35d0863400b51156f9eeae384d394707868a2c..d20bb9149177deb7942c442ef17ce9ef26d6f9fa 100644
--- a/ghc/compiler/typecheck/TcMonoType.lhs
+++ b/ghc/compiler/typecheck/TcMonoType.lhs
@@ -9,7 +9,7 @@ module TcMonoType ( tcHsType, tcHsTypeKind, tcContext, tcTyVarScope ) where
 #include "HsVersions.h"
 
 import HsSyn		( HsType(..), HsTyVar(..), pprContext )
-import RnHsSyn		( RenamedHsType(..), RenamedContext(..) )
+import RnHsSyn		( RenamedHsType, RenamedContext )
 
 import TcMonad
 import TcEnv		( tcLookupTyVar, tcLookupClass, tcLookupTyCon, tcExtendTyVarEnv	)
diff --git a/ghc/compiler/typecheck/TcSimplify.lhs b/ghc/compiler/typecheck/TcSimplify.lhs
index 7c6e6e5e9e6a889ce7424d968429fdd216700f6a..3f9a9de19e92d969731fd475cb868775b8510325 100644
--- a/ghc/compiler/typecheck/TcSimplify.lhs
+++ b/ghc/compiler/typecheck/TcSimplify.lhs
@@ -136,7 +136,7 @@ import Inst		( lookupInst, lookupSimpleInst, LookupInstResult(..),
 			  newDictFromOld,
 			  instLoc, getDictClassTys,
 			  pprInst, zonkInst,
-			  Inst(..), LIE, pprInsts, pprInstsInFull, mkLIE, 
+			  Inst, LIE, pprInsts, pprInstsInFull, mkLIE, 
 			  InstOrigin, pprOrigin
 			)
 import TcEnv		( TcIdOcc(..) )
diff --git a/ghc/compiler/typecheck/TcTyClsDecls.lhs b/ghc/compiler/typecheck/TcTyClsDecls.lhs
index 7de928a77b6b8722a142d346122604950540f02b..32c571ea20a0fd70b1bf8b5764b8d76554d863ac 100644
--- a/ghc/compiler/typecheck/TcTyClsDecls.lhs
+++ b/ghc/compiler/typecheck/TcTyClsDecls.lhs
@@ -16,7 +16,7 @@ import HsSyn		( HsDecl(..), TyDecl(..), ClassDecl(..),
 			  Sig(..),
 			  hsDeclName
 			)
-import RnHsSyn		( RenamedTyDecl(..), RenamedClassDecl(..), RenamedHsDecl )
+import RnHsSyn		( RenamedTyDecl, RenamedClassDecl, RenamedHsDecl )
 import TcHsSyn		( TcHsBinds )
 import BasicTypes	( RecFlag(..) )
 
diff --git a/ghc/compiler/typecheck/TcTyDecls.lhs b/ghc/compiler/typecheck/TcTyDecls.lhs
index 0e83986ca8bfc9f8e1a46304fe1963f976e0e407..64ccfbb72310d95ee4cbabc59208370d2279c989 100644
--- a/ghc/compiler/typecheck/TcTyDecls.lhs
+++ b/ghc/compiler/typecheck/TcTyDecls.lhs
@@ -17,7 +17,7 @@ import HsSyn		( MonoBinds(..),
 			  andMonoBinds
 			)
 import HsTypes		( getTyVarName )
-import RnHsSyn		( RenamedTyDecl(..), RenamedConDecl(..)	)
+import RnHsSyn		( RenamedTyDecl, RenamedConDecl )
 import TcHsSyn		( mkHsTyLam, mkHsDictLam, tcIdType,
 			  TcHsBinds, TcMonoBinds
 			)
diff --git a/ghc/compiler/typecheck/Unify.lhs b/ghc/compiler/typecheck/Unify.lhs
index 4e200006de22d7d5b564000ed79df086f50459f7..276a110d2593331e7468b347d0e37212477f3268 100644
--- a/ghc/compiler/typecheck/Unify.lhs
+++ b/ghc/compiler/typecheck/Unify.lhs
@@ -19,7 +19,7 @@ import TcMonad
 import Type	( GenType(..), Type, tyVarsOfType,
 		  typeKind, mkFunTy, splitFunTy_maybe, splitTyConApp_maybe )
 import TyCon	( TyCon, mkFunTyCon, isTupleTyCon, tyConArity, Arity )
-import TyVar	( TyVar(..), GenTyVar(..), tyVarKind, tyVarFlexi,
+import TyVar	( TyVar, GenTyVar(..), tyVarKind, tyVarFlexi,
 		  TyVarEnv, lookupTyVarEnv, emptyTyVarEnv, addToTyVarEnv,
 		  tyVarSetToList
 		)