pub async fn retry_fallible<R, F, WorkFn>( metrics: &RetryMetrics, work_fn: WorkFn, ) -> Rwhere F: Future<Output = Result<R, Error>>, WorkFn: FnMut() -> F,