pub trait Identity<T> { fn is_identity(&self) -> bool; fn identity(w_out: usize, w_in: usize) -> Self; }