docs: def traverse_levelorder(self, leaves=True, internal=True):
          '''Perform a levelorder traversal starting at this ``Node`` object
  
          Args:
              ``leaves`` (``bool``): ``True`` to include leaves, otherwise ``False``
  
              ``internal`` (``bool``): ``True`` to include internal nodes, otherwise ``False``
          '''
          q = deque(); q.append(self)
          while len(q) != 0:
              n = q.popleft()
              if (leaves and n.is_leaf()) or (internal and not n.is_leaf()):
                  yield n
              q.extend(n.children)