pub trait SplittableRequest { // Required methods fn split(self) -> impl Iterator<Item = Self> where Self: Sized; fn count(&self) -> usize; }