@@ -6,7 +6,6 @@ import qualified Data.Either as Either
66import Data.Function (on)
77import qualified Data.List as List
88import qualified Data.Map as Map
9−import Data.Maybe (fromMaybe)
109import qualified Data.Set as Set
1110import qualified Text.EditDistance as Dist
1211
@@ -26,7 +25,7 @@ variable env var =
2625 Env.using (Var.Canonical (Var.Module name) varName)
2726
2827 _ ->
29− case Map.lookup var (_values env) of
28+ case Set.toList `fmap` Map.lookup var (_values env) of
3029 Just [v] -> Env.using v
3130 Just vs -> preferLocals env "variable" vs var
3231 Nothing -> notFound "variable" (Map.keys (_values env)) var
@@ -43,10 +42,10 @@ tvar env var =
4342 vs -> preferLocals' env extract "type" vs var
4443 where
4544 adts =
46− map Left (fromMaybe [] (Map.lookup var (_adts env)))
45+ map Left (maybe [] Set.toList (Map.lookup var (_adts env)))
4746
4847 aliases =
49− map Right (fromMaybe [] (Map.lookup var (_aliases env)))
48+ map Right (maybe [] Set.toList (Map.lookup var (_aliases env)))
5049
5150 extract value =
5251 case value of
@@ -56,7 +55,7 @@ tvar env var =
5655
5756pvar :: Environment -> String -> Canonicalizer String Var.Canonical
5857pvar env var =
59− case Map.lookup var (_patterns env) of
58+ case Set.toList `fmap` Map.lookup var (_patterns env) of
6059 Just [v] -> Env.using v
6160 Just vs -> preferLocals env "pattern" vs var
6261 Nothing -> notFound "pattern" (Map.keys (_patterns env)) var