-lintCoercion co@(PredCo (ClassP cls cos))
- = do { (ss,ts) <- mapAndUnzipM lintCoercion cos
- ; check_co_app co (tyConKind (classTyCon cls)) ss
- ; return (PredTy (ClassP cls ss), PredTy (ClassP cls ts)) }
-
-lintCoercion (PredCo (IParam ip co))
- = do { (s,t) <- lintCoercion co
- ; return (PredTy (IParam ip s), PredTy (IParam ip t)) }
-
-lintCoercion (PredCo (EqPred c1 c2))
- = do { (s1,t1) <- lintCoercion c1
- ; (s2,t2) <- lintCoercion c2
- ; return (PredTy (EqPred s1 s2), PredTy (EqPred t1 t2)) }
-