Co.js e bluebird.js - qual a diferença?

Alguém poderia me ajudar a entender as diferenças entre usar o Koa.js e o Bluebird.js com o ES6 Harmony. Especificamente, como

co( function * () {
  //stuff
} );

comparado a,

Promise.coroutine( function * () {
  //stuff
} );

Parece que o Koa deveria estar usando o Bluebird e não recriando a roda. O que é diferente?

questionAnswers(2)

yourAnswerToTheQuestion