Counting_multi_setWhen building a set incrementally, in an unordered way, it's necessary to guarantee that a single Set.remove call does not erase more than one Set.add. This data structure keeps counts of the adds and removes so that an element is only removed once the number of calls to remove equals the number of calls to add.
Incr_setOperate on sets incrementally. The operations below make heavy use of Set.symmetric_diff to minimize the amount of work done per stabilization.