import inspect


def getargspec(function):
    """
    Extends inspect.getfullargspec to allow us to decorate functions with a signature.
    
    :Parameters:
    ----------------
    function : callable
        function for which we want to know argspec.

    :Returns:
    -------
    inspect.FullArgSpec

    """
    if hasattr(function, 'fullargspec'):
        return function.fullargspec
    else:
        return inspect.getfullargspec(function)