@@ -109,10 +109,10 @@ addType env mn name dctors = updateExportedModule env mn $ \m -> do
109109 let exDctors = snd `concatMap` exTypes
110110 let exClasses = exportedTypeClasses m
111111 when (any ((== name) . fst) exTypes) $ throwMultipleDefError "type" name
112− when (any (== name) exClasses) $ throwConflictingDefError "Type" "type class" name
112+ when (name `elem` exClasses) $ throwConflictingDefError "Type" "type class" name
113113 forM_ dctors $ \dctor -> do
114− when (any (== dctor) exDctors) $ throwMultipleDefError "data constructor" dctor
115− when (any (== dctor) exClasses) $ throwConflictingDefError "Data constructor" "type class" dctor
114+ when (dctor `elem` exDctors) $ throwMultipleDefError "data constructor" dctor
115+ when (dctor `elem` exClasses) $ throwConflictingDefError "Data constructor" "type class" dctor
116116 return $ m { exportedTypes = (name, dctors) : exTypes }
117117
118118-- |
@@ -123,7 +123,7 @@ addTypeClass env mn name = updateExportedModule env mn $ \m -> do
123123 let exTypes = exportedTypes m
124124 let exDctors = snd `concatMap` exTypes
125125 when (any ((== name) . fst) exTypes) $ throwConflictingDefError "Type class" "type" name
126− when (any (== name) exDctors) $ throwConflictingDefError "Type class" "data constructor" name
126+ when (name `elem` exDctors) $ throwConflictingDefError "Type class" "data constructor" name
127127 classes <- addExport "type class" (exportedTypeClasses m) name
128128 return $ m { exportedTypeClasses = classes }
129129