title: How to use Q.all() with complex array of promises?
body: <p>Consider I have an array of objects and promises, something like:</p>
  
  <pre><code>[{
      a: 1
  }, {
      a: 4
  }, {
      a: 4
  }, {
      promiseSend: [Function],
      valueOf: [Function]
  }, {
      promiseSend: [Function],
      valueOf: [Function]
  }]
  </code></pre>
  
  <p>Now when call I <code>Q.all(arr)</code> and return the object value in <code>then()</code>, nothing's happen and still my array contains promise objects. Is there any way to work with the <code>Q.all()</code> and such a complex arrays?</p>