pub async fn retry_loop<F, A, R, E>(tries: usize, f: F) -> Result<R, E>where F: FnMut() -> A, A: Future<Output = Result<R, RetryLoopError<E>>>,