you can construct tree walks with iterators as well, they aren't as elegant, but fuck elegant simple and efficient matters more sometimes elegant isn't either of these