Implementando functools.partial que preenche argumentos adicionais

A documentação parafunctools.partial diz que é "aproximadamente equivalente a":

def partial(func, *args, **keywords):
    def newfunc(*fargs, **fkeywords):
        newkeywords = keywords.copy()
        newkeywords.update(fkeywords)
        return func(*(args + fargs), **newkeywords)  # line to change
    newfunc.func = func
    newfunc.args = args
    newfunc.keywords = keywords
    return newfunc

Se eu quisesse implementar uma versão queprepends os argumentos adicionais, parece que eu teria que mudar a linha indicada.

Existem outras características / pegadinhas com as quais eu deveria me preocupar apenas copiando este código?

questionAnswers(2)

yourAnswerToTheQuestion