`Condvar` is not usable with `ReentrantMutex` because of `Condvar::wait()` takes a `MutexGuard`. Any reason to not have a variant of the API handling `ReentrantMutex` ?