Nanopass has a depth-first style of recursion. Is there a way to construct a circular reference to an ancestor in a descendant of the AST? That is, not just a reference to a part of the input, but a reference to a part of the output that is an ancestor in the tree, and not a descendant?