For a newly-constructed
x.mutex() is equal to the value of
prior to the constructor invocation, and
x.owns_lock() is equal to the value of
prior to the constructor invocation.
std::shared_lock objects are
so there is no copy-constructor, only this move constructor