-import Ubiq
-import TcMLoop -- for paranoia checking
-
-import Id ( Id(..), GenId, idType, mkUserLocal )
-import TcHsSyn ( TcIdBndr(..), TcIdOcc(..) )
-import TcKind ( TcKind, newKindVars, tcDefaultKind, kindToTcKind )
-import TcType ( TcType(..), TcMaybe, TcTyVar(..), TcTyVarSet(..),
- newTyVarTys, tcInstTyVars, tcInstType, zonkTcTyVars
- )
-import TyVar ( mkTyVar, tyVarKind, unionTyVarSets, emptyTyVarSet )
-import Type ( tyVarsOfTypes )
-import TyCon ( TyCon, Arity(..), tyConKind, synTyConArity )
-import Class ( Class(..), GenClass, classSig )
-
-import TcMonad hiding ( rnMtoTcM )
-
-import Name ( getOccName, getSrcLoc, Name{-instance NamedThing-} )
-import PprStyle
-import Pretty
-import RnHsSyn ( RnName(..) )
-import Type ( splitForAllTy )
-import Unique ( pprUnique10, pprUnique{-ToDo:rm-} )
-import UniqFM
-import Util ( zipEqual, zipWithEqual, zipWith3Equal, zipLazy,
- panic, pprPanic, pprTrace{-ToDo:rm-}
+import RnHsSyn ( RenamedMonoBinds, RenamedSig )
+import TcMonad
+import TcMType ( zonkTcTyVarsAndFV )
+import TcType ( Type, ThetaType, TcKind, TcTyVar, TcTyVarSet,
+ tyVarsOfTypes, tcSplitDFunTy,
+ getDFunTyKey, tcTyConAppTyCon