pub fn async_acquire_shared_session<F>(
    shared: SharedChannel<LinearToShared<F>>,
    cont1: impl FnOnce(Z) -> PartialSession<(F::Applied, ()), End> + Send + 'static
) -> JoinHandle<()> where
    F: Protocol,
    F: SharedRecApp<SharedToLinear<LinearToShared<F>>>,
    F::Applied: Protocol