WIP: some hacking on more abstract tree traversals