pub trait AtomIterator<'a> { type Item; type Iter: Iterator<Item = Self::Item>; fn atom_iter(&'a self) -> Self::Iter; }