Ah, you're right about Set / ordering... not a good fit. As far as one spot generating the same warning with the same caller - you only see 3 warnings before you get the 'too many uses' warning. I'm not sure I understand your point there. I was suggesting throwing away (not printing) exact duplicates where the warning/call site are identical (which still seems like a good idea, yes?)