pub(crate) fn append_queue<A, Func, Fut>(
builder: Func,
rest: Session<Rec<InternalChoice<Either<End, SendValue<A, Z>>>>>
) -> Session<Rec<InternalChoice<Either<End, SendValue<A, Z>>>>> where
A: Send + 'static,
Func: FnOnce() -> Fut + Send + 'static,
Fut: Future<Output = A> + Send + 'static,