OpSets: Sequential Specifications for Replicated Datatypes