pub trait Mesh { type IntoIter: Iterator<Item = Gate>; // Required methods fn successors(&self, from: usize) -> Self::IntoIter; fn len(&self) -> usize; }