ufut
pub async fn zip<A, B>( a: impl Future<Output = A>, b: impl Future<Output = B>) -> (A, B)
Polls two futures until they are both completed.