Inheritance: AstRecursiveVisitor
 public static ICode V(ICode ast, Dictionary<Expr, Expr> replace) {
     var v = new VisitorReplaceExprUse(replace);
     return v.Visit(ast);
 }
 public static ICode V(ICode ast, Expr find, Expr replace) {
     var v = new VisitorReplaceExprUse(new Dictionary<Expr, Expr> { { find, replace } });
     return v.Visit(ast);
 }