¿Cuál es la forma más limpia de convertir Array of JQuery Promises en JQuery Promise of an Array?

Me encuentro con la situación en la que tengo varias promesas de JQuery en una matriz

var arrayOfPromises = [ $.Deferred(), $.Deferred(), $.Deferred(), $.Deferred() ]

y la necesidad de convertirlo en una promesa JQuery de una matriz

var promiseOfArray = someTransform(arrayOfPromises)

dónde

promiseOfArray.done(function(anArray){
  alert(anArray.join(","));
});

crea una alerta con texto

resultado1, resultado2, resultado3, resultado4

Actualmente definosomeTransform en coffeescript como

someTransform = (arrayOfPromises) ->
  $.when(arrayOfPromises...).pipe (promises...) ->
    promises

el cual se transforma al siguiente javascript

var someTransform,
  __slice = [].slice;

someTransform = function(arrayOfPromises) {
  return $.when.apply($, arrayOfPromises).pipe(function() {
    var promises;
    promises = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
    return promises;
  });
};

Aquí hay un jsFiddle del resultado que estoy buscando.

Me preguntaba si hay una forma mejor (más corta, más limpia) de definirsomeTransform ¿Para lograr el mismo resultado?

Respuestas a la pregunta(2)

Su respuesta a la pregunta