pub(crate) type RetryPromise<T, U> = Receiver<Result<U, (Error, Option<T>)>>;
struct RetryPromise<T, U> { /* private fields */ }