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