Fair enough, but I'm also OCD about my headers.  I feel uncomfortable having the definition of those constants in public view in case I want to change it's definition without breaking compatability.  Let's compromise, either:

1) Leave the defines, or move their definition into a separate header and #define them to internal macros.
2) Keep the externs, but `#define` over top of them (AppKit does this in a few odd places, so it is warranted).
3) Leave the externs.