Wrapped mutex: supports recursive locking, but no waiting TODO: We should move away from using the recursive lock by default.
Declared in <sync.h>
<sync.h>
using RecursiveMutex = AnnotatedMixin<std::recursive_mutex>;