promise.js
function CreateIterResultObject ( value, done ) {
    if ( Type(done) !== 'boolean' ) {
      throw TypeError();
    }
    return {value: value, done: done};
  }
function CreateIterResultObject ( value, done ) {
    if ( Type(done) !== 'boolean' ) {
      throw TypeError();
    }
    return {value: value, done: done};
  }
7.4.6 CreateIterResultObject ( value, done )