C++ is stupid sometimes, but your example is an edge case that is never used and I have never seen it in my coding journey. C++ is not like JS or where you have stupid behavior when doing basic if's. So your argument is pointless? Well anyway use rust