pub fn channels_into_threadpool<T: 'static + Send, E: 'static + Send, I: 'static + Iterator<Item = Result<T, E>> + Send + Sync>( iters: Vec<I>, buffer_size: usize, ) -> Vec<impl Iterator<Item = Result<T, E>>>