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