class_docstr: A functional visitor over Expr.
  
  The default behavior recursively traverses the AST
  and reconstructs the AST.
code: def visit_ref_read(self, r):
      new_ref = self.visit(r.ref)
      if new_ref == r.ref:
          return r
      return RefRead(new_ref)
  
imports: from tvm.ir import Op
  from .function import Function, FunctionWithFields
  from .expr import Call, Let, Var, GlobalVar
  from .expr import If, Tuple, TupleGetItem, Constant
  from .expr import RefCreate, RefRead, RefWrite
  from .adt import Constructor, Match, Clause
label_desc: Use image node_id 16 for calling the ExprMutator obj's underlying member method code with example usage: obj.visit_ref_read(r) and returns: RefRead, r