pub fn include_session<C1, C2, N, A, B>(
    session: Session<A>,
    cont: impl FnOnce(N) -> PartialSession<C2, B>
) -> PartialSession<C1, B> where
    A: Protocol,
    B: Protocol,
    C1: Context<Length = N>,
    C2: Context,
    C1: AppendContext<(A, ()), Appended = C2>,