I don't think there is such a thing called "iterating+introspecting in a
controlled, read-only fashion":
```nim
proc foo = discard "can I modify foo? Who knows, there is a macro invocation
following"
mymacro()
```
*But even for a global macro invocation within the same module, surely
iterating+introspecting in a controlled, read-only fashion over the global
types, procs, etc., that have been defined prior to the macro's point of
invocation (and thus, will affect the context at that point within the
module) can't be a bad thing?*