The usual arithmetic conversions you are encoding caused real-world disasters — integer promotion bugs contributed to the Ariane 5 failure analysis and countless CVEs from signed/unsigned mixups. C compilers apply these exact rules on every binary expression, and JavaScript's == coercion table shows what happens when a language gets them confusingly wrong.