pub fn merge_sort<'a, KO, E, NP, R>( streams: Vec<R>, ) -> impl Stream<Item = Result<KO, E>> + 'awhere KO: 'a, NP: NodePeek<KO> + 'a + Send + Sync, E: Error + 'a, R: Stream<Item = Result<NP, E>> + 'a + Unpin,