pub async fn run_blocking_value<F, T>(f: F) -> Result<T, String>where F: FnOnce() -> T + Send + 'static, T: Send + 'static,
Run blocking work off the async runtime and return a typed value.