pub fn cut_append<C1, C2, C3, C4, A, B>(
cont1: PartialSession<C3, B>,
cont2: PartialSession<C2, A>,
) -> PartialSession<C4, B>where
A: Protocol,
B: Protocol,
C1: Context + AppendContext<(A, ()), Appended = C3> + AppendContext<C2, Appended = C4>,
C2: Context,
C3: Context,
C4: Context,