Yes, that's what I mean. This allows module defined constants to replace macros in all cpp tests:
macro module constant
existence #if defined(foo) #if constant(Bar.foo)
numeric #if foo #if Bar.foo
The name of the constant needs to contain at least one ".", and
I think I forgot to support things starting with "." (like ".foo"), so
I probably should fix that.
