> The only way you can cancel operations right now in Nim's async is by closing > the FD they are pending on.
i will imprint it in my mind. so it means `.fail` should but do not behave like it claimed `Completes future with error.`. it seems there are some minefields in nim's async, and i can find warning nowhere: the manual, the doc of api, the tutorials of people. i yet have one more question when i said minefield: why `proc foo {.async.} =` must have a `return` (in my use) ?