@@ -175,13 +175,10 @@ typeCheckAll mainModuleName moduleName (d@(FixityDeclaration _ name) : rest) = d
175175 return $ d : ds
176176typeCheckAll mainModuleName currentModule (d@(ImportDeclaration moduleName _) : rest) = do
177177 env <- getEnv
178− let instances = filter (\tcd ->
179− let Qualified (Just mn) _ = tcdName tcd in
180− moduleName == mn && tcdType tcd == TCDRegular
181− ) (typeClassDictionaries env)
178+ let instances = filter (\tcd -> let Qualified (Just mn) _ = tcdName tcd in moduleName == mn) (typeClassDictionaries env)
182179 forM_ instances $ \tcd -> do
183180 let (Qualified _ ident) = tcdName tcd
184− addTypeClassDictionaries [tcd { tcdName = Qualified (Just currentModule) ident, tcdType = TCDAlias (tcdName tcd) }]
181+ addTypeClassDictionaries [tcd { tcdName = Qualified (Just currentModule) ident, tcdType = TCDAlias (canonicalizeDictionary tcd) }]
185182 ds <- typeCheckAll mainModuleName currentModule rest
186183 return $ d : ds
187184typeCheckAll mainModuleName moduleName (d@(TypeClassDeclaration pn args tys) : rest) = do