pub trait AsyncRwLock {
type ReadGuard: for<'a> PlugLifetime<'a>;
type WriteGuard: for<'a> PlugLifetime<'a>;
// Required methods
fn read(&self) -> PluggedAsyncGuard<'_, Self::ReadGuard>;
fn write(&self) -> PluggedAsyncGuard<'_, Self::WriteGuard>;
}