docs: def get_children(self, depth=1):
          """Iterate over all children (until a certain level) and one-self."""
          yield self
          if depth == 0: return
          for child in self.children.values():
              for node in child.get_children(depth-1): yield node