            left: None,
            right: None,
        }
    }

    // ---
    fn boxer(node: Node) -> NodeBox {
        Some(Box::new(node))
    }

    // ---
    fn set_left(&mut self, node: Node) {
        self.left = Self::boxer(node);
    }
