A RootedTreeIterator
iterates over view to mutable internal caches for performance (as documented). It can be convenient to specialize collect
such that copies are made automatically, i.e., basically collect(::RootedTreeIterator) = map(copy, ::RootedTreeIterator)
.