Como alterar programaticamente o argspec de uma função em um decorador python?

Dada uma função:

def func(f1, kw='default'):
    pass
bare_argspec = inspect.getargspec(func)

@decorator
def func2(f1, kw='default'):
    pass
decorated_argspec = inspect.getargspec(func2)

Como posso criar um decorador quebare_argspec == decorated_argspec?

(Por que razão, a estrutura que chama a função decorada faz a inspeção argspec para escolher o que passar, então o decorador deve reter o mesmo argspec para ter um bom desempenho. Quando fiz essa pergunta no #python, tive uma longa discurso sobre por que o framework é péssimo, o que não é o que estou procurando; tenho que resolver o problema aqui. Além disso, também estou interessado na resposta)

questionAnswers(3)

yourAnswerToTheQuestion