diff --git a/ghc/compiler/types/TyVar.lhs b/ghc/compiler/types/TyVar.lhs
index 73ae74208dcbdb50cf0fb688d17f6d98cacd9be9..0fdfc32b9749db1a29f80ba133b34019019b301c 100644
--- a/ghc/compiler/types/TyVar.lhs
+++ b/ghc/compiler/types/TyVar.lhs
@@ -24,7 +24,6 @@ module TyVar (
   ) where
 
 CHK_Ubiq() 	-- debugging consistency check
---IMPORT_DELOOPER(IdLoop) 	-- for paranoia checking
 
 -- friends
 import Usage		( GenUsage, SYN_IE(Usage), usageOmega )
diff --git a/ghc/compiler/types/Type.lhs b/ghc/compiler/types/Type.lhs
index 8c045552b0d8ce372c8d88634535d1a01470d7fd..294f4235cd6ecb2805e5daea288f21666a78deb7 100644
--- a/ghc/compiler/types/Type.lhs
+++ b/ghc/compiler/types/Type.lhs
@@ -42,12 +42,18 @@ module Type (
     ) where
 
 IMP_Ubiq()
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 201
 IMPORT_DELOOPER(IdLoop)	 -- for paranoia checking
 IMPORT_DELOOPER(TyLoop)
 --IMPORT_DELOOPER(PrelLoop)  -- for paranoia checking
+#else
+import {-# SOURCE #-} Id ( Id, dataConArgTys )
+import {-# SOURCE #-} TysPrim ( voidTy )
+import {-# SOURCE #-} TysWiredIn ( tupleTyCon )
+#endif
 
 -- friends:
-import Class	( classSig, classOpLocalType, GenClass{-instances-} )
+import Class	( classSig, classOpLocalType, GenClass{-instances-}, SYN_IE(Class) )
 import Kind	( mkBoxedTypeKind, resultKind, notArrowKind, Kind )
 import TyCon	( mkFunTyCon, isFunTyCon, isEnumerationTyCon, isTupleTyCon, maybeTyConSingleCon,
 		  isPrimTyCon, isAlgTyCon, isDataTyCon, isSynTyCon, maybeNewTyCon, isNewTyCon,
diff --git a/ghc/compiler/utils/FiniteMap.lhs b/ghc/compiler/utils/FiniteMap.lhs
index 37243a43af5bdb0f747563f9df801cb23d095927..319e386a8e9beb5abfe7002e798aac88ad6bf730 100644
--- a/ghc/compiler/utils/FiniteMap.lhs
+++ b/ghc/compiler/utils/FiniteMap.lhs
@@ -69,7 +69,12 @@ module FiniteMap (
 #endif
     ) where
 
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 201
 IMPORT_DELOOPER(SpecLoop)
+#else
+import {-# SOURCE #-} Name
+#endif
+
 #if __GLASGOW_HASKELL__ >= 202
 import GlaExts
 #endif