Unfortunately, due to the needs of legacy compatibility, one winds up with multiple ways to express the same thing. Then we wind up with Apple's conundrum with Darwin, darwin, DARWIN, `__DARWIN__`, `__APPLE__`, `__MACH__`, etc.