#[repr(transparent)]
pub struct Endpoint<T>(pub T);
#[repr(transparent)]
pub struct Connecting<T>(pub T);
#[repr(transparent)]
pub struct Accepting<T>(pub T);
#[repr(transparent)]
pub struct Request<T>(pub T);
#[repr(transparent)]
pub struct Session<T>(pub T);
#[repr(transparent)]
pub struct OpeningBiStream<T>(pub T);
#[repr(transparent)]
pub struct OpeningUniStream<T>(pub T);
#[repr(transparent)]
pub struct SendStream<T>(pub T);
#[repr(transparent)]
pub struct RecvStream<T>(pub T);
#[repr(transparent)]
pub struct Streams<T>((core::marker::PhantomData<T>, core::convert::Infallible));
#[repr(transparent)]
pub struct Datagram<T>(pub T);