code: function then(onFulfilled, onRejected){
          var react = {
            ok:   typeof onFulfilled == 'function' ? onFulfilled : true,
            fail: typeof onRejected == 'function'  ? onRejected  : false
          };
          var promise = react.P = new (speciesConstructor(this, P))(function(res, rej){
            react.res = res;
            react.rej = rej;
          });
          aFunction(react.res);
          aFunction(react.rej);
          var record = this[RECORD];
          record.c.push(react);
          if(record.a)record.a.push(react);
          if(record.s)notify(record, false);
          return promise;
        }
docs: 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)