pub trait UnwrappedAsyncRec<'a, T>: Future<Output = AsyncRec<'a, T>> + Send + Sync + 'a { // Provided method async fn go(self) -> T where Self: Sized { ... } }