Overview
An OR-Set (Observed-Remove Set CRDT) allows distributed or offline replicas to add and remove set elements concurrently without a central server or coordination. Each add(e) generates a globally unique tag u = (replicaId, counter) and inserts (e, u) into the active tag set. A remove(e) only tombstones the tags of e currently observed at that replica. When two replicas merge (by taking the union of added tags and the union of tombstoned tags), a concurrent add(e) and remove(e) preserves the newly added tag ('add-wins'), and elements can be re-added freely after removal.