pub fn receive_value_from<N, C1, C2, T, A, B>(
    _n: N,
    cont: impl FnOnce(T) -> PartialSession<C2, B> + Send + 'static
) -> PartialSession<C1, B> where
    A: Protocol,
    B: Protocol,
    C1: Context,
    C2: Context,
    T: Send + 'static,
    N: ContextLens<C1, SendValue<T, A>, A, Target = C2>,