pub trait PieceXDataStateExt {
fn get<T>(&self) -> Result<Option<&T>, InternalError>
where
T: PieceXData;
fn get_exp<T>(&self) -> Result<&T, InternalError>
where
T: PieceXData;
fn get_mut<T, D>(&mut self, def: D) -> Result<&mut T, InternalError>
where
T: PieceXData,
D: FnOnce() -> T;
fn get_mut_exp<T>(&mut self) -> Result<&mut T, InternalError>
where
T: PieceXData;
fn init<T>(&mut self, val: T) -> Result<&mut T, InternalError>
where
T: PieceXData;
}