\r
import DataCon \r
import Type \r
-import TcRnMonad\r
+import TcRnMonad ( TcM, initTcPrintErrors, ioToTcRn, recoverM, writeMutVar )\r
import TcType\r
import TcMType\r
import TcUnify\r
import TcGadt\r
-import DriverPhases\r
import TyCon \r
import Var\r
import Name \r
+import VarEnv\r
+import OccName\r
+import VarSet\r
import Unique\r
-import UniqSupply\r
-import Var ( setVarUnique, mkTyVar, tyVarKind, setTyVarKind )\r
-import VarEnv ( mkVarEnv )\r
-import OccName ( emptyTidyOccEnv )\r
-import VarSet ( VarSet, mkVarSet, varSetElems, unionVarSets )\r
-import Unique ( getUnique, incrUnique )\r
import {-#SOURCE#-} TcRnDriver ( tcRnRecoverDataCon )\r
\r
import TysPrim \r
import TysWiredIn\r
\r
import Constants ( wORD_SIZE )\r
-import FastString ( mkFastString )\r
import Outputable\r
import Maybes\r
import Panic\r
import GHC.Int ( Int32(..), Int64(..) )\r
import GHC.Word ( Word32(..), Word64(..) )\r
\r
-import Control.Monad ( liftM, liftM2, msum )\r
+import Control.Monad\r
import Data.Maybe\r
import Data.Array.Base\r
import Data.List ( partition )\r
import Foreign.Storable\r
-import Foreign ( unsafePerformIO )\r
\r
---------------------------------------------\r
-- * A representation of semi evaluated Terms\r