import TyCon ( TyCon, ArgVrcs, DataConDetails(..),
tyConDataCons, mkForeignTyCon, isProductTyCon, isRecursiveTyCon,
tyConTheta, getSynTyConDefn, tyConDataCons, isSynTyCon, tyConName )
import DataCon ( DataCon, dataConWrapId, dataConName, dataConSig, dataConFieldLabels )
import Var ( TyVar, idType, idName )
import TyCon ( TyCon, ArgVrcs, DataConDetails(..),
tyConDataCons, mkForeignTyCon, isProductTyCon, isRecursiveTyCon,
tyConTheta, getSynTyConDefn, tyConDataCons, isSynTyCon, tyConName )
import DataCon ( DataCon, dataConWrapId, dataConName, dataConSig, dataConFieldLabels )
import Var ( TyVar, idType, idName )