def tuple_wrapper(method):
 def wrap_tuples(*args, **kw_args):
  newargs = []
  for arg in args:
   if (type(arg) is tuple):
    newargs.append(Tuple(*arg))
   else:
    newargs.append(arg)
  return method(*newargs, **kw_args)
 return wrap_tuples

def tuple_wrapper ( method ) : def wrap_tuples ( * args , ** kw_args ) : newargs = [ ] for arg in args : if ( type ( arg ) is tuple ) : newargs . append ( Tuple ( * arg ) ) else : newargs . append ( arg ) return method ( * newargs , ** kw_args ) return wrap_tuples
decorator that converts any tuple in the function arguments into a tuple .