} else {
const newChild = node.left ?? node.right;
if (stack.length > 0) {
const [dir, parent] = stack[stack.length - 1];
switch (dir) {
case Dir.Left: parent.left = newChild; break;
case Dir.Mid: parent.mid = newChild; break;
case Dir.Right: parent.right = newChild; break;
}
} else {
this._root = newChild;
}
}