This only works because re-resolving a promise doesn't throw. If we change that in the future, this implementation will need to change. It may be worth noting the do-nothing mechanism you're leveraging.