pub trait LazyAccess<T, F> {
// Required methods
fn into_value(self) -> T;
fn as_mut(&mut self) -> &mut T;
fn observe(&self) -> Option<&T>;
fn observe_mut(&mut self) -> Option<&mut T>;
// Provided methods
fn is_init(&self) -> bool { ... }
fn as_ref(&mut self) -> &T { ... }
}