pub fn unicast_until_finished<'a, I, IA, IB, O, A, B, F>(
    selector: F,
    first: Coroutine<'a, IA, O, A>,
    second: Coroutine<'a, IB, O, B>
) -> Coroutine<'a, I, O, (A, B)>where
    F: Fn(I) -> UnicastSelect<IA, IB> + Clone + Send + 'a,
    O: Send,
    A: Send,
    B: Send,
Expand description

Unicast until both routines are completed

Unlike broadcast, there is an issue with completing unicast routines If IA is finished, the rest of its inputs will be thrown away/ignored Be careful, as this could cause the routines to never complete