The problem is that the rules for remembering where they are needed are hard to remember and error-prone.
/be
Question : If you ever wanted 1 breaking change in the language, and somehow it would be possible (I know it wouldn't) what feature would you change ? Again just 1 feature.
You'll find a lot of == out there, or would if only Google code search were still up.
Hey, I got to answer with the one thing I'd change. There are more than a few, and I had to pick. Losing the equivalence relation I had in the first ten days (apart from NaN != NaN of course) was my pick.
Although I feel remembering where semicolons are needed is simple I still use them anyway for personal preference.
[1] This is a white lie - there is one additional vital ASI rule, but you already know it - don't put a linebreak after a return statement.