pub fn spawn_task<T, F>(ctx: Context, f: F) -> TaskHandle<T>where T: Send + 'static, F: FnOnce(TaskSender<T>) -> Result<T, String> + Send + 'static,