code: func WalkNodes(x interface{}, f func(Node) bool) {
  	vis := &GenericVisitor{func(x interface{}) bool {
  		if n, ok := x.(Node); ok {
  			return f(n)
  		}
  		return false
  	}}
  	Walk(vis, x)
  }
docs: // WalkNodes calls the function f on all nodes under x. If the function f
  // returns true, AST nodes under the last node will not be visited.