pub trait Fetch<'s> { type Component: Component; type Iter: Iterator; unsafe fn fetch<S: Storage>(storage: &'s S) -> Option<Self::Iter>; }