PmCheck: Use ConLikeSet to model negative info
In #17911 (closed), Simon recognised many warnings stemming from over-long list
unions while coverage checking Cabal's LicenseId
module.
This patch introduces a new PmAltConSet
type which uses a UniqDSet
instead of an association list for ConLike
s. For PmLit
s, it will
still use an assocation list, though, because a similar map data
structure would entail a lot of busy work.