promql/ast.go
func Inspect(node Node, f inspector) {
	Walk(inspector(f), node, nil)
}
func Inspect(node Node, f inspector) {
	Walk(inspector(f), node, nil)
}
// Inspect traverses an AST in depth-first order: It starts by calling
// f(node, path); node must not be nil. If f returns a nil error, Inspect invokes f
// for all the non-nil children of node, recursively.