If an action generated ops - we add the ops to the queue.
In an action didn't generate the ops - we add the id to no-ops queue.
The reducer had to be split in two - the ops are modified in platform-specific reducers so we need to add to queues from there. But then it is really challenging to type the reducer correctly, because it doesn't know anything about platform-specific actions and yet it needs to accept these. (Typing as `BaseAction | { actionID, ...}` doesn't fix the issue because the inexact object is confused with base actions).
https://linear.app/comm/issue/ENG-7097/put-the-ops-into-the-filed-when-reducers-return-them
Depends on D11281