async fn next_missing_event<Fetch, Fut>(
body: &Args<Request>,
fetch: &Fetch,
seen_max: usize,
seen: &mut BTreeSet<OwnedEventId>,
pending: &mut VecDeque<(OwnedEventId, bool)>,
fetches: &mut FuturesOrdered<Fut>,
) -> Option<(OwnedEventId, CanonicalJsonObject)>