pub trait Idx: Copy + Ord + Debug + Hash + Eq + 'static { fn new(idx: usize) -> Self; fn index(self) -> usize; }