As for stdbool.h, I can see some people wanting to have constants for true and false and a type named bool if only for clarity (though I'm not really one of them, personally).
However, what's the purpose of the actual _Bool type? Why not just define the bool type to be int (when that's what actual boolean expressions evaluate to anyway)? Or char if size is a concern.
Does it license the compiler to do things it couldn't do with ints? Does it provide for some kind of type-safety?