It's important to see the full picture, most of what Nim's `async` does is probably simply hidden from your view as F# delegates the hard work to C#'s event loop implementation whereas in Nim there is little in between `async` and the underlying event loop. IMHO that's why you think it's "bulky".
It's also very easy to perform an incomplete, insufficient analysis on the problem. That's why I claimed "owned can do async" months ago... And maybe it can if we rewrite async a bit :P
