pub fn wrap_session<C, T>(
    cont: PartialSession<C, T::Unwrap>
) -> PartialSession<C, Wrap<T>> where
    C: Context,
    T: Wrapper,
    T: Send + 'static,
    T::Unwrap: Protocol