diff --git a/ghc/compiler/coreSyn/CoreSyn.lhs b/ghc/compiler/coreSyn/CoreSyn.lhs
index 3972e55b997ac95c5fb4144e168e0f664845c630..4d1f95464c53647b50b51633c0f5fee48b9d838c 100644
--- a/ghc/compiler/coreSyn/CoreSyn.lhs
+++ b/ghc/compiler/coreSyn/CoreSyn.lhs
@@ -451,6 +451,10 @@ mkApp  fun = mk_thing (mkGenApp fun)
 mkCon  con = mk_thing (Con      con)
 mkPrim op  = mk_thing (Prim     op)
 
+mk_thing :: ([GenCoreArg val_occ flexi] -> GenCoreExpr val_bdr val_occ flexi)
+	 -> [GenType flexi] 
+	 -> [GenCoreArg val_occ flexi] 
+	 -> GenCoreExpr val_bdr val_occ flexi
 mk_thing thing tys vals
   = ASSERT( all isValArg vals )
     thing (map TyArg tys ++ vals)
diff --git a/ghc/compiler/deSugar/DsCCall.lhs b/ghc/compiler/deSugar/DsCCall.lhs
index bac1e98a6927848da6a02b54df8942f09cba48ef..91f0101ed321aeaf2c57bbb52fc7927b0aff0f10 100644
--- a/ghc/compiler/deSugar/DsCCall.lhs
+++ b/ghc/compiler/deSugar/DsCCall.lhs
@@ -15,7 +15,7 @@ import DsUtils
 
 import TcHsSyn		( maybeBoxedPrimType )
 import CoreUtils	( coreExprType )
-import Id		( Id(..), dataConArgTys, idType )
+import Id		( Id, dataConArgTys, idType )
 import Maybes		( maybeToBool )
 import PrelVals		( packStringForCId )
 import PrimOp		( PrimOp(..) )
diff --git a/ghc/compiler/reader/RdrHsSyn.lhs b/ghc/compiler/reader/RdrHsSyn.lhs
index a3599df598b5bd88fb732122ebf88b8cfe416b1a..338e025c43dedc62cc8e4be1a67fe9644e3ff01e 100644
--- a/ghc/compiler/reader/RdrHsSyn.lhs
+++ b/ghc/compiler/reader/RdrHsSyn.lhs
@@ -55,7 +55,7 @@ module RdrHsSyn (
 
 import HsSyn
 import Lex
-import BasicTypes	( Module(..), IfaceFlavour(..), Unused )
+import BasicTypes	( Module, IfaceFlavour(..), Unused )
 import Name		( pprModule, OccName(..), pprOccName, 
 			  prefixOccName, NamedThing(..) )
 import Util		( thenCmp )