Async procedures and Defects.
Currently `{.async.}` transformation catches all possible exceptions inside transformed procedures and stores it inside procedure's result Future[T] object.

As you can see here it catches all the exceptions:
https://github.com/status-im/nim-chronos/blob/master/chronos/asyncmacro2.nim#L55

Question is do we need to continue catching all possible exceptions or we should catch only `CatchableError` level?

This is one word fix.

CC: @arnetheduck @zah @mratsim @sinkingsugar @dryajov @kdeme 