pub fn select_until_left_is_done<St1, St2>(
    stream1: St1,
    stream2: St2
) -> SelectUntilLeftIsDone<St1, St2> where
    St1: Stream,
    St2: Stream<Item = St1::Item>,