Compilation error: `invalid pragma: stackTrace: false`
In some cases, when generating an `.async` procedure by a macro, you get the aforementioned error. Example:

```nim
import std/macros
import chronos/asyncloop

func recurse(tree: NimNode): NimNode =
  tree.expectKind {nnkProcDef, nnkIteratorDef, nnkStmtList}
  if tree.kind == nnkStmtList:
    for i, child in tree:
      tree[i] = child.recurse
    tree
  else:
    let name = tree[0]
    quote do:
      proc `name` {.async.} = discard

macro turnIntoProc(tree: untyped) =
  tree.recurse

proc test0 {.turnIntoProc.}
# OK

iterator test1 {.turnIntoProc.}
# Error: invalid pragma: stackTrace: false

turnIntoProc:
  iterator test2
# OK
```

(The last test confuses me the most, to be honest.) The error is caused by these lines:

https://github.com/status-im/nim-chronos/blob/f3b77d86615813690c5ab5e7cbe841521be2a20f/chronos/asyncmacro2.nim#L250-L251

Could you explain their meaning please?

Any ideas on how to make the example compileable are much appreciated. (Checking if `tree` is an `nnkStmtList` and, if not, rewriting to `bindSym"turnIntoProc".newCall newStmtList tree` doesn’t work. Even with `tree.copyNimTree`.)

Chronos 3.0.11, Nim 1.6.10.