pub fn select_until_left_is_done_with_strategy<St1, St2, Clos, State>(
    stream1: St1,
    stream2: St2,
    which: Clos
) -> SelectUntilLeftIsDoneWithStrategy<St1, St2, Clos, State> where
    St1: Stream,
    St2: Stream<Item = St1::Item>,
    Clos: FnMut(&mut State) -> PollNext,
    State: Default