pub async fn with_retry_on_error<F, Fut, O, E>( f: F, retry_on_error: bool, ) -> Result<O, E>where F: Fn() -> Fut, Fut: Future<Output = Result<O, E>>, E: Debug,