{"id":"crdt-merge-returns-self","text":"`merge()` mutates and returns `self` (enabling chaining like `deepcopy(a).merge(b)`) rather than returning a new instance, which means callers must deepcopy before merging if they need to preserve the original state.","truth_value":"IN","source":"entries/2026/05/29/conflict-free-replicated-data-types-test_crdts.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{},"explanation":{"steps":[{"node":"crdt-merge-returns-self","truth_value":"IN","reason":"premise"}]}}