pub trait RefThreadLocal<T> {
// Required methods
fn initialize(&self) -> Result<(), ()>;
fn destroy(&self) -> Result<(), ()>;
fn is_initialized(&self) -> bool;
fn borrow<'a>(&self) -> Ref<'a, T>;
fn borrow_mut<'a>(&self) -> RefMut<'a, T>;
fn try_borrow<'a>(&self) -> Result<Ref<'a, T>, BorrowError>;
fn try_borrow_mut<'a>(&self) -> Result<RefMut<'a, T>, BorrowMutError>;
}