If this is implemented from memory, I'm much more uncomfortable than using the previous version. Why did you re-implement the queue? Was it to remove the `Thread::yield_now()` in the inconsistent case?