@@ -215,7 +215,7 @@ actuallyUnify context@(Context _ (Descriptor firstContent _ _ _) _ (Descriptor s
216 -- If there was an error, just pretend it is okay. This lets us avoid
216 -- If there was an error, just pretend it is okay. This lets us avoid
217 -- "cascading" errors where one problem manifests as multiple message.
217 -- "cascading" errors where one problem manifests as multiple message.
218− return ()
218+ merge context Error
@@ -226,7 +226,7 @@ unifyFlex :: Context -> Content -> Content -> Unify ()
226unifyFlex context content otherContent =
226unifyFlex context content otherContent =
227 case otherContent of
227 case otherContent of
229− return ()
229+ merge context Error
231 -- TODO see if wildcarding makes a noticable perf difference
231 -- TODO see if wildcarding makes a noticable perf difference
@@ -289,7 +289,7 @@ unifyRigid context maybeSuper content otherContent =
292− return ()
292+ merge context Error
@@ -348,7 +348,7 @@ unifyFlexSuper context super content otherContent =
348 subUnify (_first context) realVar
348 subUnify (_first context) realVar
351− return ()
351+ merge context Error
354combineRigidSupers :: SuperType -> SuperType -> Bool
354combineRigidSupers :: SuperType -> SuperType -> Bool
@@ -493,7 +493,7 @@ unifyAlias context home name args realVar otherContent =
493 subUnify realVar (_second context)
493 subUnify realVar (_second context)
496− return ()
496+ merge context Error
499unifyAliasArgs :: [Variable] -> Context -> [(N.Name,Variable)] -> [(N.Name,Variable)] -> ([Variable] -> () -> IO r) -> ([Variable] -> () -> IO r) -> IO r
499unifyAliasArgs :: [Variable] -> Context -> [(N.Name,Variable)] -> [(N.Name,Variable)] -> ([Variable] -> () -> IO r) -> ([Variable] -> () -> IO r) -> IO r
@@ -597,7 +597,7 @@ unifyStructure context flatType content otherContent =
600− return ()
600+ merge context Error