code: def flip(f):
      
      ensure_callable(f)
  
      result = lambda *args, **kwargs: f(*reversed(args), **kwargs)
      functools.update_wrapper(result, f, ('__name__', '__module__'))
      return result
docs: Flip the order of positonal arguments of given function.