pub async fn async_retry<T, F: Future<Output = Result<T>>>( thunk: impl FnMut() -> F, count: usize, delay: Duration, ) -> Result<T>