There no need to go far away to find bugs in asyncdispatch. 1\. Lets take this topic and make it a little bit more abstract. Without cancellation asyncdispatch could not handle timeouts. Because when timeout got exceeded some other operation will become just forgotten. And in such case it is possible to forgot close socket or file descriptor or forgot to free some memory. Without timeouts all network services written using asyncdispatch could not be used in production, because it will be very easy to DoS such service. And with timeouts you will get descriptor leaks.
2\. [https://github.com/nim-lang/Nim/issues?q=is%3Aopen+is%3Aissue+label%3AAsync](https://github.com/nim-lang/Nim/issues?q=is%3Aopen+is%3Aissue+label%3AAsync), in this list you can find issues which are 3 years old. Also do you remember that two years ago asyncdispatch do not have proper exceptions support? So maybe it is better to say "thank you for your work" and not "you hurting our community".