A mutable set is a finite, iterable container.
This class provides concrete generic implementations of all methods except for __contains__, __iter__, __len__, add(), and discard().
To override the comparisons (presumably for speed, as the semantics are fixed), all you have to do is redefine __le__ and then the other operations will automatically follow suit.
Add an element.
This is slow (creates N new iterators!) but effective.
Remove an element. Do not raise an exception if absent.
Return the popped value. Raise KeyError if empty.
Remove an element. If not a member, raise a KeyError.