Typeclass to be implemented by CRDTs if they shall be managed by CRDTService
CRDT value type
Update phase 2 ("downstream").
Returns the CRDT value (for example, the entries of an OR-Set)
Default CRDT instance.
Must return true if CRDT checks preconditions.
Must return true if CRDT checks preconditions. Should be overridden to return
false if CRDT does not check preconditions, as this will significantly increase
Update phase 1 ("atSource").
Update phase 1 ("atSource"). Prepares an operation for phase 2.