In C# nothing stops you from doing `var t = Task.Run(() => ExpensiveButSynchronous());` and then `await`ing it later. Not that uncommon for firing off known long operations to have some other threadpool thread deal with it.
Unless you literally mean awaiting non-awaitable type which...just doesn't make sense in any statically typed language?
Unless you literally mean awaiting non-awaitable type which...just doesn't make sense in any statically typed language?