TcUnify
Documentation
tcSubType :: CtOrigin -> SkolemInfo -> TcSigmaType -> TcSigmaType -> TcM HsWrapper
checkConstraints :: SkolemInfo -> [TcTyVar] -> [EvVar] -> TcM result -> TcM (TcEvBinds, result)
newImplication :: SkolemInfo -> [TcTyVar] -> [EvVar] -> TcM result -> TcM (TcEvBinds, WantedConstraints, result)
unifyTypeList :: [TcTauType] -> TcM ()
unifyTheta :: TcThetaType -> TcThetaType -> TcM [CoercionI]
matchExpectedListTy :: TcRhoType -> TcM (CoercionI, TcRhoType)
matchExpectedPArrTy :: TcRhoType -> TcM (CoercionI, TcRhoType)
matchExpectedTyConApp :: TyCon -> TcRhoType -> TcM (CoercionI, [TcSigmaType])
matchExpectedAppTy :: TcRhoType -> TcM (CoercionI, (TcSigmaType, TcSigmaType))
matchExpectedFunTys :: SDoc -> Arity -> TcRhoType -> TcM (CoercionI, [TcSigmaType], TcRhoType)
wrapFunResCoercion :: [TcType] -> HsWrapper -> TcM HsWrapper