Cadeia múltipla “then” em jQuery.when

Eu tenho uma função que faz algo assim:

function do_something() {
    // some code

    return $.when(foo, bar, baz).then(do_something_else);
}

function do_something_else(_foo, _bar, _baz) {
    // do something else

    return /* the original inputs */;
}

Então, quando alguém usado_something, eles também podem encadear mais retornos de chamada, como:

do_something().then(function(_foo_2, _bar_2, _baz_2) {
    console.log(_foo_2, _bar_2, _baz_2);
});

O problema é que eu não sei como contornar o retorno original dedo_something_else para a função anônima descrita. Eu não quero receber uma lista, mas argumentos posicionais, então "when foo" insere algum valor para _foo do do_something_else e então o mesmo valor vai para _foo_2.

Como posso fazer isso no JS?

questionAnswers(1)

yourAnswerToTheQuestion