Also returning inside the function in `new Promise(fn)`, which just quits early. The key part is that `resolve` now knows how to deal with promises, so there is no need to call `then` and create one more promise.