pub type AsyncSleepFn = Box<dyn Fn(Duration) -> Pin<Box<dyn Future<Output = ()> + Send>> + Send>;
struct AsyncSleepFn(/* private fields */);