async fn forward_or_wait<LeftData: Data, RightData: Data, R: Receiver<Split<LeftData, RightData>>>(
    receiver: &Arc<Mutex<R>>,
    left_sender: &UnboundedSender<LeftData>,
    right_sender: &UnboundedSender<RightData>,
    name: &str
) -> bool