pub(crate) async fn spawn_blocking<T: Send + 'static>( f: impl Fn() -> T + Send + 'static, ) -> Result<T>