+
+import FieldLabel ( FieldLabel {- Eq instance -} )
+import Id ( idType, dataConFieldLabels,
+ dataConArgTys, recordSelectorFieldLabel,
+ GenId{-instance-}, SYN_IE(Id)
+ )
+import Name ( Name {--O only-} )
+import Outputable ( PprStyle(..), Outputable(..) )
+import PprType ( GenType{-instance-}, GenTyVar{-ditto-} )
+import Pretty ( Doc )
+import PrelVals ( pAT_ERROR_ID )
+import Type ( isPrimType, eqTy, getAppDataTyConExpandingDicts,
+ instantiateTauTy, SYN_IE(Type)
+ )
+import TyVar ( GenTyVar{-instance Eq-}, SYN_IE(TyVar) )
+import TysPrim ( intPrimTy, charPrimTy, floatPrimTy, doublePrimTy,
+ addrPrimTy, wordPrimTy
+ )
+import TysWiredIn ( nilDataCon, consDataCon, mkTupleTy, mkListTy,
+ charTy, charDataCon, intTy, intDataCon,
+ floatTy, floatDataCon, doubleTy, tupleCon,
+ doubleDataCon, stringTy, addrTy,
+ addrDataCon, wordTy, wordDataCon
+ )
+import Unique ( Unique{-instance Eq-} )
+import Util ( panic, pprPanic, assertPanic )