Coercion

Main data type

type Coercion

type Kind

typeKind

Deconstructing Kinds

kindFunResult

kindAppResult

synTyConResKind

splitKindFunTys

splitKindFunTysN

splitKindFunTy_maybe

Predicates on Kinds

isLiftedTypeKind

isUnliftedTypeKind

isOpenTypeKind

isUbxTupleKind

isArgTypeKind

isKind

isTySuperKind

isCoSuperKind

isSuperKind

isCoercionKind

mkArrowKind

mkArrowKinds

isSubArgTypeKind

isSubOpenTypeKind

isSubKind

defaultKind

eqKind

isSubKindCon

mkCoKind

mkCoPredTy

coVarKind

coVarKind_maybe

coercionKind

coercionKinds

isIdentityCoercion

Equality predicates

isEqPred

mkEqPred

getEqPredTys

isEqPredTy

Coercion transformations

mkCoercion

mkSymCoercion

mkTransCoercion

mkLeftCoercion

mkRightCoercion

mkInstCoercion

mkAppCoercion

mkTyConCoercion

mkFunCoercion

mkForAllCoercion

mkInstsCoercion

mkUnsafeCoercion

mkNewTypeCoercion

mkFamInstCoercion

mkAppsCoercion

mkCsel1Coercion

mkCsel2Coercion

mkCselRCoercion

mkClassPPredCo

mkIParamPredCo

mkEqPredCo

mkCoVarCoercion

mkCoPredCo

unsafeCoercionTyCon

symCoercionTyCon

transCoercionTyCon

leftCoercionTyCon

rightCoercionTyCon

instCoercionTyCon

csel1CoercionTyCon

csel2CoercionTyCon

cselRCoercionTyCon

Decomposition

decompLR_maybe

decompCsel_maybe

decompInst_maybe

splitCoPredTy_maybe

splitNewTypeRepCo_maybe

instNewTyCon_maybe

decomposeCo

Comparison

coreEqCoercion

coreEqCoercion2

CoercionI

data CoercionI

isIdentityCoI

mkSymCoI

mkTransCoI

mkTyConAppCoI

mkAppTyCoI

mkFunTyCoI

mkForAllTyCoI

fromCoI

mkClassPPredCoI

mkIParamPredCoI

mkEqPredCoI

mkCoPredCoI