pub trait Mutex<T>: Send + Sync {
type Guard: for<'a> GuardLt<'a, T>;
// Required method
fn lock<'s, 'async_trait>(
&'s self,
) -> Pin<Box<dyn Future<Output = Result<<Self::Guard as GuardLt<'s, T>>::Guard>> + Send + 'async_trait>>
where Self: 'async_trait,
's: 'async_trait;
}