import PreludeStdIO ( Maybe )
import Unique ( Unique )
+import FieldLabel ( FieldLabel )
import Id ( Id, GenId, StrictnessMark, mkTupleCon, mkDataCon,
- dataConSig, getInstantiatedDataConSig )
+ isNullaryDataCon, dataConArgTys, idType )
import PprType ( specMaybeTysSuffix )
-import NameTypes ( FullName )
+import Name ( Name )
import TyCon ( TyCon )
import TyVar ( GenTyVar, TyVar )
-import Type ( GenType, Type )
+import Type ( splitSigmaTy, splitFunTy, GenType, Type )
import Usage ( GenUsage )
import Class ( Class, GenClass )
+import TysPrim ( voidTy )
data GenId ty
data GenType tyvar uvar
-- Needed in TyCon
mkTupleCon :: Int -> Id
-dataConSig :: Id -> ([TyVar], [(Class, Type)], [Type], TyCon)
+isNullaryDataCon :: Id -> Bool
specMaybeTysSuffix :: [Maybe Type] -> _PackedString
+idType :: Id -> Type
+splitSigmaTy :: GenType t u -> ([t], [(Class,GenType t u)], GenType t u)
+splitFunTy :: GenType t u -> ([GenType t u], GenType t u)
instance Eq (GenClass a b)
-- Needed in Type
-getInstantiatedDataConSig :: Id -> [Type] -> ([Type],[Type],Type)
+dataConArgTys :: Id -> [Type] -> [Type]
+voidTy :: Type
-- Needed in TysWiredIn
data StrictnessMark = MarkedStrict | NotMarkedStrict
-mkDataCon :: Unique -> FullName -> [StrictnessMark]
+mkDataCon :: Name -> [StrictnessMark] -> [FieldLabel]
-> [TyVar] -> [(Class,Type)] -> [Type] -> TyCon
-> Id
\end{code}