This would work, but I think it is a poor solution. I'm gonna use a similar
example with different names to illustrate why:
# myDSL.nim
macro DSL(body: untyped): untyped = ...
Run
# wrap.nim
import myDSL
DSL:
include body.nim
Run
First, anyone reading or editing `body.nim` will be totally unaware that it is
being affected by the `DSL` macro until they read `wrap.nim`.
Also, every usage of `body.nim` will need to be annotated with a `DSL:` wrap.
If, say, `DSL` gets deprecated and its use needs to be removed from the
project, _each_ usage of `body.nim` needs to get changed.
Because `DSL` is affecting `body.nim` as a white box rather than a black box,
its usage should be apparent from within `body.nim`.