pub fn send_value<T, C, A>(
    val: T,
    cont: PartialSession<C, A>
) -> PartialSession<C, SendValue<T, A>> where
    T: Send + 'static,
    A: Protocol,
    C: Context