pub trait Inv { fn inv(&self) -> Self; }