A unique ID for this node. Use this to identify nodes across edits via
OrgTree.edit, because OrgParentNodes can be recreated and thus will
not be equal via identical.
Obtain a zipper starting at the root of this node. The zipper can be used
to edit the node; call ZipperLocation.commit to obtain a new node with
the edits applied.
Obtain a zipper for the specified node, which is presumed to be a
descendant of this node. Returns null if the node is not found. The zipper
can be used to edit this node; call ZipperLocation.commit to obtain a
new node with the edits applied.
Find the first node in the AST that satisfies predicate. Specify a type
T to only visit nodes of that type. Returns a tuple of the node and its
path from the root of the tree, or null if no node is found.
Walk AST with visitor. Specify a type T to only visit nodes of that
type. The visitor function must return true to continue iterating, or
false to stop.