:internal: basic preorder iterator functions seem to work now