Today Node::replace takes a T: NodeValue and boxes the new node value internally. In some cases it might not always be possible to have a NodeValue there, but a Box<dyn NodeValue> instead. It would be nice to have a replace_boxed that directly accepts a Box<dyn NodeValue>.