Enum are mutually exclusive but you can create predefined sets from the enums.
Regarding compile-time defines, my main issue is that a lot are hidden. There is this wiki documentation: [https://github.com/nim-lang/Nim/wiki/Consts-defined-by-the-compiler](https://github.com/nim-lang/Nim/wiki/Consts-defined-by-the-compiler) But several are missing: * Posix (capital P) * unix (used by nimble) * x86 and x86_64 (stumbled upon it by trying) Also not sure yet which flag for 32-bits or 64-bits architecture so I check sizeof(int).