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.