Making all nodes lazy by default adds implementation cost, since it then requires the implementer to define the `load()` method for loading child nodes. Not everyone wants a lazy tree, and in fact Tree is so fast and Tree.Node is so light that there's not much reason to use a lazy tree unless you're talking about seriously huge numbers of nodes.