def uncurry(f):
    """Convert a curried function into a function on tuples
    (of positional arguments) and dictionaries (of keyword arguments).
    """
    ensure_callable(f)

    result = lambda args=(), kwargs=None: f(*args, **(kwargs or {}))
    functools.update_wrapper(result, f, ('__name__', '__module__'))
    return result
def uncurry ( f ) : ensure_callable ( f ) result = lambda args = ( ) , kwargs = None : f ( * args , ** ( kwargs or { } ) ) functools . update_wrapper ( result , f , ( '__name__' , '__module__' ) ) return result
Convert a curried function into a function on tuples
    (of positional arguments) and dictionaries (of keyword arguments).