@@ -10,6 +10,7 @@ import Control.Monad
1010import qualified Data.Map.Strict as Map
1111import Data.Map.Strict ((!))
1212import qualified Data.Name as Name
13+import qualified Data.NonEmptyList as NE
1314import qualified Data.Vector as Vector
1415import qualified Data.Vector.Mutable as MVector
1516
@@ -29,7 +30,7 @@ import qualified Type.UnionFind as UF
2930-- RUN SOLVER
3031
3132
32−run :: Constraint -> IO (Either [Error.Error] (Map.Map Name.Name Can.Annotation))
33+run :: Constraint -> IO (Either (NE.List Error.Error) (Map.Map Name.Name Can.Annotation))
3334run constraint =
3435 do pools <- MVector.replicate 8 []
3536
@@ -40,8 +41,8 @@ run constraint =
4041 [] ->
4142 Right <$> traverse Type.toAnnotation env
4243
43− _ ->
44− return $ Left errors
44+ e:es ->
45+ return $ Left (NE.List e es)
4546
4647
4748