inline void swap(unique_lock<Mutex>& lhs, unique_lock<Mutex>& rhs) noexcept { lhs.swap(rhs); }
inline void swap(unique_lock<MutexT>& x, unique_lock<MutexT>& y) noexcept { x.swap(y); }