// Reviewed function shouldBe(actual, expected) { if (actual !== expected) throw new Error('bad value: ' + actual); } class DerivedPromise extends Promise { static get [Symbol.species]() { return Promise; } } shouldBe(DerivedPromise.all([ 1, 2, 3]) instanceof DerivedPromise, true); shouldBe(DerivedPromise.race([ 1, 2, 3]) instanceof DerivedPromise, true);