code: def tuple_wrapper(method):
      """
      Decorator that converts any tuple in the function arguments into a Tuple.
  
      Explanation
      ===========
  
      The motivation for this is to provide simple user interfaces.  The user can
      call a function with regular tuples in the argument, and the wrapper will
      convert them to Tuples before handing them to the function.
  
      Explanation
      ===========
  
      >>> from sympy.core.containers import tuple_wrapper
      >>> def f(*args):
      ...    return args
      >>> g = tuple_wrapper(f)
  
      The decorated function g sees only the Tuple argument:
  
      >>> g(0, (1, 2), 3)
      (0, (1, 2), 3)
  
      """
  
      def wrap_tuples(*args, **kw_args):
          newargs = []
          for arg in args:
              if isinstance(arg, tuple):
                  newargs.append(Tuple(*arg))
              else:
                  newargs.append(arg)
          return method(*newargs, **kw_args)
  
      return wrap_tuples
  
imports: from collections import OrderedDict
  from collections.abc import MutableSet
  from typing import Any, Callable
  from .basic import Basic
  from .sorting import default_sort_key, ordered
  from .sympify import _sympify, sympify, _sympy_converter, SympifyError
  from sympy.core.kind import Kind
  from sympy.utilities.iterables import iterable
  from sympy.utilities.misc import as_int
label_desc: Use image node_id 1 for calling a global function with example usage: tuple_wrapper(method) and returns: wrap_tuples, method