pub fn terminate<C>() -> PartialSession<C, End> where
    C: EmptyContext