Lint was checking for duplicate external names by calling removeDups
, which needs a comparison function that is passed to Data.List.sortBy
.
But the comparison was not a valid ordering - it returned LT
if one of the names was not external.
For example, the previous implementation won't find a duplicate in [M.x, y, M.x]
.
Instead, we filter out non-external names before looking for duplicates.