Using `async` functions from synchronous functions (and breaking all the rules)

Well, for starters, you can make a single generic function to do this. And then, yeah, within that function you can use unsafe features to escape the isolation box and move the value out of your task.