pub fn new() -> Self {
        Self {
            in_progress_queue: FuturesUnordered::new(),
            queued_outputs: BinaryHeap::new(),
            next_incoming_index: 0,
            next_outgoing_index: 0,
        }
    }
Constructs a new, empty `FuturesOrdered`

The returned [`FuturesOrdered`] does not contain any futures and, in
this state, [`FuturesOrdered::poll_next`] will return
[`Poll::Ready(None)`](Poll::Ready).
futures-util/src/stream/futures_ordered.rs