docs: function Promise(fn) {
    if (typeof this !== 'object') {
      throw new TypeError('Promises must be constructed via new');
    }
    if (typeof fn !== 'function') {
      throw new TypeError('not a function');
    }
    this._37 = 0;
    this._12 = null;
    this._59 = [];
    if (fn === noop) return;
    doResolve(fn, this);
  }