detach Child
Detaches the given alive child from this node for moving between parents (i.e. merge). Updates both visibleSize and totalSize.
Differs from removeChild, which only updates totalSize because it is used on tombstoned children during GC purge. Throws NoSuchElementException when child is not present — callers that may race with a prior detach must wrap in try/catch.