pub async fn wait_until_async<F, Fut>(condition: F, timeout: Duration)where F: FnMut() -> Fut, Fut: Future<Output = bool>,
Panics if the timeout duration is exceeded without the condition being met.