pub trait MultiPoint<'a>: Send + Sync { type ItemType: 'a + Point; type Iter: Iterator<Item = &'a Self::ItemType>; fn points(&'a self) -> Self::Iter; }