@@ -216,7 +216,6 @@ unifySchemes :: Predicate TypeVariable -> [(Scheme, Scheme)] -> UnifyM Substitut
216unifySchemes _ [] = pure mempty
216unifySchemes _ [] = pure mempty
217unifySchemes f ((x, y) : rest) = do
217unifySchemes f ((x, y) : rest) = do
218 s <- unifyScheme f x y
218 s <- unifyScheme f x y
219− -- TODO: This should probably be (s <>)
220 sub s <$> unifySchemes f (sub s rest)
219 sub s <$> unifySchemes f (sub s rest)
222unifyScheme :: Predicate TypeVariable -> Scheme -> Scheme -> UnifyM Substitution
221unifyScheme :: Predicate TypeVariable -> Scheme -> Scheme -> UnifyM Substitution
@@ -243,8 +242,7 @@ solveWithPriority ::
243solveWithPriority _ Empty = return mempty
242solveWithPriority _ Empty = return mempty
244solveWithPriority f (rest :|> c) = do
243solveWithPriority f (rest :|> c) = do
245 s <- unifyWithPriority f c
244 s <- unifyWithPriority f c
246− -- TODO: This should probably be (s <>)
247− (<> s) <$> solveWithPriority f (fmap (sub s) rest)
245+ sub s <$> solveWithPriority f (fmap (sub s) rest)
249data Errors
247data Errors
250 = UndefinedVariable VarName
248 = UndefinedVariable VarName