1 C preprocessor namespace is a very cheap tradeoff which allows the identifier
2 space to grow to very large and stay sane.
4 we partition the identifier space in order to avoid-ish collisions in a
5 reasonable way, that with a bit of noise:
6 - composite types (non primivitive types): _t suffix.
7 - "shared" variables, which are actually in the global/top C identifier space: _g
9 - could add a _c suffix to compiler constants, aka "enums". should
10 not be that usefull though.