I see what you mean, but the intricacies with `onComplete`/`onError` and the race for `terminated` then becomes quite complicated.

If I understand correctly, the `finally` block would not only need to not touch `emitting` in this case when not terminated, but it would also have to check if terminated and `!emitting` to reclaim the right to drain the queue, correct? Otherwise the terminal state could result in duplicate emission.