pub fn try_write(&self) -> Result<Option<RecursiveLockWriteGuard<'_, T>>, Box<dyn Error + '_>> {
pub fn read_recursive<'a>(&'a self) -> Result<RecursiveLockReadGuard<'a, T>, Box<dyn Error + 'a>> {
"Cannot mutate through RecursiveLockWriteGuard while recursive read guards from its write section are alive"
"RecursiveLockWriteGuard dropped while recursive read guards from its write section are still alive"