func (expr *Array) Walk(v Visitor) Expr {
	if exprs, changed := walkExprSlice(v, expr.Exprs); changed {
		exprCopy := *expr
		exprCopy.Exprs = exprs
		return &exprCopy
	}
	return expr
}
// Walk implements the Expr interface.
Walk implements the Expr interface.
// Walk implements the Expr interface .
func (expr *Array) Walk(v Visitor) Expr {
	if exprs, changed := walkExprSlice(v, expr.Exprs); changed {
		exprCopy := *expr
		exprCopy.Exprs = exprs
		return &exprCopy
	}
	return expr
}
func ( expr * Array ) Walk ( v Visitor ) Expr { if exprs , changed := walkExprSlice ( v , expr . Exprs ) ; changed { exprCopy := * expr exprCopy . Exprs = exprs return & exprCopy } return expr }
Walk implements the Expr interface.
Walk implements the Expr interface .