class_docstr: Mangle given names in and ast tree to make sure they do not conflict with
  user code.
class_docstr_tok: ["Mangle","given","names","in","and","ast","tree","to","make","sure","they","do","not","conflict","with","user","code","."]
code: def visit_Name(self, node):
      if self.predicate(node.id):
          self.log("Mangling", node.id)
          # Once in the ast we do not need
          # names to be valid identifiers.
          node.id = "mangle-" + node.id
      else:
          self.log("Not mangling", node.id)
      return node
  
file_path: catboost/contrib/python/ipython/py3/IPython/core/magics/ast_mod.py
imports: from ast import NodeTransformer, Store, Load, Name, Expr, Assign, Module
  import ast
  import copy
  from typing import Dict, Optional
label_desc: Use image node_id 3 for calling the Mangler obj's underlying member method code with example usage: obj.visit_Name(node) and returns: node