Since C++17, the introduction of deduction guides for locking facilities means that we no longer need to hardcode the mutex type into the locks themselves, making it easier to switch mutex types, should it ever be necessary in the future.
Avoids unnecessary atomic reference count increments and decrements
credit to @Hawkheart for the original idea