Recursive mutex implementation for tasks.
This mutex type can be used in exchange for a core.sync.mutex.Mutex, but does not block the event loop when contention happens.
.sync .mutex .Mutex
.core .sync .Lockable
Because this class is annotated nothrow, it cannot be interrupted
vibe. The corresponding
InterruptException will be deferred until the next blocking
operation yields the event loop.
InterruptibleRecursiveTaskMutex as an alternative that can be