Use of std::shared_mutex apparently doesn't work on macOS prior to 10.12 (Thanks @nico for the catch)