that was the other possibility but i'm not aware of one that gives you the ability to push diffs on an existing state. locking really is going to be needed, i think, unless someone invents a radically new CRDT that can do diffs.