code: def _traverse_nodes(self):
          
          node = self.root
          stack = []
          while stack or node is not None:
              if node is not None:
                  stack.append(node)
                  node = node.left
              else:
                  node = stack.pop()
                  yield node
                  node = node.right
docs: Debugging function (exposes cython nodes as dummy nodes)