pub trait Query<'s> { type Iter: Iterator + 's; fn query<S: Storage>(storage: &'s mut S) -> Option<Self::Iter>; }