pub fn wait_session<I, P>(
    session1: Session<End>,
    cont: PartialSession<I, P>
) -> PartialSession<I, P> where
    P: Protocol,
    I: Context,
    I: AppendContext<(End, ())>,
    I: AppendContext<(Empty, ())>,
    I::Length: ContextLens<<I as AppendContext<(End, ())>>::Appended, End, Empty, Target = <I as AppendContext<(Empty, ())>>::Appended>,