pub fn join<A, B, FA, FB>(a: FA, b: FB) -> (A, B)where A: Send, B: Send, FA: FnOnce() -> A + Send, FB: FnOnce() -> B + Send,
Run two computations in parallel and wait for both to complete