Box puts something on the heap and returns a pointer to that thing. Here it is necessary because otherwise the Rust compile wouldn't be able to determine the size (in memory) of a Tree.
GP should note that C++’s unique_ptr isn’t an obscurity.
That would be very misleading since Box represents a heap-allocated owned value
It doesn't matter if some people are confused, because you can just explain what it is in 3 seconds. What's important for such a ubiquitous type is that the name is short.