M_USetAdd-once and remove-once set.
Note: Removed elements can never be added again. This is because of how USet handles the value operation (see below).
Supports add, remove, lookup and merge operations. See Mutable_types.RSet. Contains two separate instances of a regular Map, one for adding (add_s) and the other for removing (remove_s).
add el t adds el to add_s.
remove el t adds el to remove_s
Both lookup and value operate on the set difference add_s \ remove_s.
merge a b calls merges add_s_a with add_s_b and the same for b
module Make
(O : Mutable_types.Comparable) :
Mutable_types.RSet with type elt = O.tCreates an add / remove set of elements satisfying Mutable_types.Comparable