@@ -183,7 +183,11 @@ typeCheckAll mainModuleName moduleName exps = go
183 forM_ (map (\(ident, _, _) -> ident) vals) $ \name ->
183 forM_ (map (\(ident, _, _) -> ident) vals) $ \name ->
184 valueIsNotDefined moduleName name
184 valueIsNotDefined moduleName name
185 tys <- typesOf mainModuleName moduleName $ map (\(ident, _, ty) -> (ident, ty)) vals
185 tys <- typesOf mainModuleName moduleName $ map (\(ident, _, ty) -> (ident, ty)) vals
186− vals' <- forM (zipWith (\(name, nameKind, _) (_, (val, ty)) -> (name, val, nameKind, ty)) vals tys) $ \(name, val, nameKind, ty) -> do
186+ vals' <- forM [ (name, val, nameKind, ty)
187+ | (name, nameKind, _) <- vals
188+ , (name', (val, ty)) <- tys
190+ ] $ \(name, val, nameKind, ty) -> do
187 addValue moduleName name ty nameKind
191 addValue moduleName name ty nameKind
188 return (name, nameKind, val)
192 return (name, nameKind, val)
189 return $ BindingGroupDeclaration vals'
193 return $ BindingGroupDeclaration vals'