Earlier quoted context omitted.
Because that level of (type) safety and C is a bad fit.
I assume you do not want to elaborate why you think it is a "bad fit". IMHO it is perfect.
Because you're using the pre-processor to create a new language, which we have pretty much agreed is a bad idea.
If you want that level of safety, why not use a language that provides it for you?