But since 0 is a valid hash value maybe keyword_hash should be incremented to get a different hash value so the comparison fails, otherwise the problem might still appear one in every 2^32 times the user swaps C and C++ types on the file 😜 .
There's already this "problem" where two different sets of keywords may have the same hash. But probably not a problem in practice.