I agree. I'd rather _keep_ the completions, and get rid of the semaphores,
so I think the whole fundamental patch here under discussion is broken.
We should do:
- continue replacing semaphores that are used purely for mutual exclusion
- probably add support for completions to do counting
- and then eventually just do the _reverse_ of what the current patch
does, namely replace the existing counting semaphore usage with