import inspect


def unwrap_fullargspec(func):
    """recursively searches through wrapped function to get the args"""

    func_dict = func.__dict__
    if "__wrapped__" in func_dict:
        return unwrap_fullargspec(func_dict["__wrapped__"])
    else:
        return inspect.getfullargspec(func)