Look closely at a hypothetical handler. A promise fulfills and its registered reaction changes a label from Loading to Calculating, performs a long synchronous calculation, then replaces the label with Done. The tempting reading is that the user sees all three labels in that order.
The assignments have an order. The visible frames need their own explanation. Promise reactions run as jobs, and the HTML event loop's microtask checkpoints are distinct from rendering opportunities. Updating the label within that reaction does not establish that Calculating has been painted before the calculation begins. What change in the work's structure would let us offer useful progress without treating fulfillment as a paint acknowledgment?
Now extend the same example. Request A is waiting. The user cancels A and starts B. A's completion arrives after B has become current. I would want the screen to keep B's status and prevent A from replacing it with Done. Cancellation should also give a recognizable state if no replacement request is active.
An explanation of this handler needs both an opportunity to render and a rule for accepting the result.