rumpsteak
pub async fn try_session<'r, R: Role, S: Session<'r, R>, T, E, F>( role: &'r mut R, f: impl FnOnce(S) -> F) -> Result<T, E> where F: Future<Output = Result<(T, End<'r>), E>>,