-import TypeRep ( Type(..), TyNote(..), Kind, UsageAnn(..),
- boxedTypeKind,
- ) -- friend
-import Type ( ThetaType,
- splitDictTy_maybe,
- splitForAllTys, splitSigmaTy, splitRhoTy,
- isDictTy, splitTyConApp_maybe, splitFunTy_maybe,
- splitUsForAllTys
- )
-import Var ( TyVar, tyVarKind,
- tyVarName, setTyVarName
- )
-import VarEnv
-import TyCon ( TyCon, isPrimTyCon, isTupleTyCon, isUnboxedTupleTyCon,
+import TypeRep ( Type(..), TyNote(..), Kind, liftedTypeKind ) -- friend
+import Type ( SourceType(..), isUTyVar, eqKind )
+import TcType ( ThetaType, PredType, tcSplitPredTy_maybe,
+ tcSplitSigmaTy, isPredTy, isDictTy,
+ tcSplitTyConApp_maybe, tcSplitFunTy_maybe
+ )
+import Var ( TyVar, tyVarKind )
+import Class ( Class )
+import TyCon ( TyCon, isPrimTyCon, isTupleTyCon, tupleTyConBoxity,