FamInstEnv
Documentation
famInstTyCon :: FamInst -> TyCon
famInstTyVars :: FamInst -> TyVarSet
pprFamInst :: FamInst -> SDoc
pprFamInstHdr :: FamInst -> SDoc
pprFamInsts :: [FamInst] -> SDoc
famInstHead :: FamInst -> ([TyVar], TyCon, [Type])
mkLocalFamInst :: TyCon -> FamInst
type FamInstEnvs = (FamInstEnv, FamInstEnv)
type FamInstEnv = UniqFM FamilyInstEnv
extendFamInstEnv :: FamInstEnv -> FamInst -> FamInstEnv
extendFamInstEnvList :: FamInstEnv -> [FamInst] -> FamInstEnv
famInstEnvElts :: FamInstEnv -> [FamInst]
familyInstances :: (FamInstEnv, FamInstEnv) -> TyCon -> [FamInst]
lookupFamInstEnv :: FamInstEnvs -> TyCon -> [Type] -> [FamInstMatch]
lookupFamInstEnvConflicts :: FamInstEnvs -> FamInst -> [TyVar] -> [FamInstMatch]
topNormaliseType :: FamInstEnvs -> Type -> Maybe (Coercion, Type)