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