Why does the boolean type support introduced in C99 use the preprocessor rather than the language's own facilities? Specifically, why do we have:
#define bool _Bool
#define true 1
#define false 0
in <stdbool.h>
rather than:
typedef _Bool bool;
enum { false = 0, true = 1 };
I guess the enum can be seen as a matter of taste. But - why not have a typedef?