pub fn timeout<F>(duration: Duration, future: F) -> Timeout<F> ⓘwhere F: Future,
Timeout wrapper for futures with comprehensive cancellation