Échanger des arguments de fonction

Lors de la refactorisation de code, il serait utile de pouvoir échanger des arguments de fonction. Changer par exemple: func(foo[0], bar(), baz.spam) dans func(baz.spam, foo[0], bar()) Existe-t-il un moyen de permuter les arguments vers la gauche / droite, en gardant les parenthèses et les virgules...