@@ -118,29 +118,26 @@ addVars module_ (Env.Env home vars types patterns binops) =
118118 return $ Env.Env home newVars types patterns binops
119119
120120
121−addVarsHelp :: Map.Map N.Name () -> Map.Map N.Name Env.VarHomes -> Map.Map N.Name Env.VarHomes
121+addVarsHelp :: Map.Map N.Name R.Region -> Map.Map N.Name Env.VarHomes -> Map.Map N.Name Env.VarHomes
122122addVarsHelp localVars vars =
123123 let
124− varHomes =
125− Env.VarHomes Env.TopLevel Map.empty
124+ addLeft _ region =
125+ Env.VarHomes (Env.TopLevel region) Map.empty
126126
127− addLeft _ _ =
128− varHomes
129−
130− addBoth _ _ (Env.VarHomes _ qualified) =
131− Env.VarHomes Env.TopLevel qualified
127+ addBoth _ region (Env.VarHomes _ qualified) =
128+ Env.VarHomes (Env.TopLevel region) qualified
132129 in
133130 merge addLeft addBoth localVars vars
134131
135132
136−collectLowerVars :: Valid.Module -> Result i (Map.Map N.Name ())
133+collectLowerVars :: Valid.Module -> Result i (Map.Map N.Name R.Region)
137134collectLowerVars (Valid.Module _ _ _ _ _ decls _ _ _ effects) =
138135 let
139136 addDecl (A.At _ (Valid.Decl (A.At region name) _ _ _)) dict =
140− Dups.insert name region () dict
137+ Dups.insert name region region dict
141138
142139 addPort (Valid.Port (A.At region name) _) dict =
143− Dups.insert name region () dict
140+ Dups.insert name region region dict
144141
145142 effectDict =
146143 case effects of
@@ -153,32 +150,32 @@ collectLowerVars (Valid.Module _ _ _ _ _ decls _ _ _ effects) =
153150 Valid.Manager _ manager ->
154151 case manager of
155152 Valid.Cmd (A.At region _) ->
156− Dups.one "command" region ()
153+ Dups.one "command" region region
157154
158155 Valid.Sub (A.At region _) ->
159− Dups.one "subscription" region ()
156+ Dups.one "subscription" region region
160157
161158 Valid.Fx (A.At regionCmd _) (A.At regionSub _) ->
162159 Dups.union
163− (Dups.one "command" regionCmd ())
164− (Dups.one "subscription" regionSub ())
160+ (Dups.one "command" regionCmd regionCmd)
161+ (Dups.one "subscription" regionSub regionSub)
165162 in
166163 Dups.detect Error.DuplicateDecl $ foldr addDecl effectDict decls
167164
168165
169−collectUpperVars :: Valid.Module -> Result i (Map.Map N.Name ())
166+collectUpperVars :: Valid.Module -> Result i (Map.Map N.Name R.Region)
170167collectUpperVars (Valid.Module _ _ _ _ _ _ unions aliases _ _) =
171168 let
172169 addUnion (Valid.Union _ _ ctors) dict =
173170 foldr addCtor dict ctors
174171
175172 addCtor (A.At region name, _args) dict =
176− Dups.insert name region () dict
173+ Dups.insert name region region dict
177174
178175 addAlias (Valid.Alias (A.At region name) _ (A.At _ tipe)) dict =
179176 case tipe of
180177 Src.TRecord _ Nothing ->
181− Dups.insert name region () dict
178+ Dups.insert name region region dict
182179
183180 _ ->
184181 dict