Issue 6573: set union method ignores arguments appearing after the original set
When calling the union method of a set with several arguments, if one of those sets is the original set, all arguments appearing after it are ignored. For example: x = set() x.union(set([1]), x, set([2])) evaluates to set([1]), not set([1, 2]) as expected. As another example, since all empty frozensets are the same, frozenset().union(frozenset([1]), frozenset(), frozenset([2])) also evaluates to just frozenset([1]). The fix is trivial, so I'm attaching a patch.