merge By Path
Merges the element node at the given path into its left sibling.
Lowers to a single empty editInternal call spanning the boundary between the left sibling's end and path's start — no node is copied; CrdtTree.edit's own merge step (03/03-1) moves the children. Mirrors JS document/json/tree.ts mergeByPath (v0.7.23).
Throws
if path is empty, resolves to a text node, resolves to the first child (no left sibling), or the computed merge boundary resolves to an index inside a UTF-16 surrogate pair (the boundary this derives from path goes through the checked CrdtTree.pathToPos, same as splitByPath).