pub trait Runtime {
type Sleep: Future<Output = ()> + Send + Sync;
// Required methods
fn spawn<T: Send + Unpin + 'static, F: Future<Output = T> + Send + 'static>(
future: F
) -> Box<dyn TaskHandle<T>>;
fn sleep(duration: Duration) -> Self::Sleep;
}