pub fn receive_value<T, C, A>(
    cont: impl FnOnce(T) -> PartialSession<C, A> + Send + 'static
) -> PartialSession<C, ReceiveValue<T, A>> where
    T: Send + 'static,
    A: Protocol,
    C: Context