code: def _sympifyit(arg, retval=None):
      """
      decorator to smartly _sympify function arguments
  
      Explanation
      ===========
  
      @_sympifyit('other', NotImplemented)
      def add(self, other):
          ...
  
      In add, other can be thought of as already being a SymPy object.
  
      If it is not, the code is likely to catch an exception, then other will
      be explicitly _sympified, and the whole code restarted.
  
      if _sympify(arg) fails, NotImplemented will be returned
  
      See also
      ========
  
      __sympifyit
      """
  
      def deco(func):
          return __sympifyit(func, arg, retval)
  
      return deco
  
file_path: sympy/sympy/core/decorators.py
imports: from functools import wraps
  from .sympify import SympifyError, sympify
label_desc: Use image node_id 1 for calling a global function with example usage: _sympifyit(arg, retval) and returns: deco, __sympifyit