async fn collect_timeline_half<'a, S>( services: &'a Services, pdus: S, filter: &'a RoomEventFilter, sender_user: &'a UserId, encrypted: bool, take: usize, ) -> Vec<PdusIterItem> ⓘwhere S: Stream<Item = Result<PdusIterItem>> + Send + 'a,