async fn supervise_child_loops( shutdown_rx: Receiver<()>, child_shutdown_tx: Sender<bool>, child_handles: Vec<(&'static str, JoinHandle<()>)>, )