pub fn session_2<A>( cont: impl FnOnce(Z, S<Z>) -> PartialSession<(Empty, (Empty, ())), A>, ) -> Session<A>where A: Protocol,