@user135362, get your point... up to the term of 'arbitrarily'... - it's not like a newbee trowing darts at a (language element) tag cloud to determine gaps for fooling around with the user. I experience the decisions are well thought end-2-end. As much as I like to not have to be aware of exceptions, Espruino is so exceptional that the few exceptions do really not bother me. After all, it is a package and I get in its completeness so much that the few bread crumbs that (were made to) fell of my plate prevent me to get too fat... for sure not hungry (I like the @hungryforcodes user name!).
The ECMA spec is great and I applaud - and love - the care takers of especially version 6, Allen Wirfs-Brock, who, together with Rebecca blessed us with one of the most powerful but still - by every ones standard - easy to understand CRC method or technology for describing formally how things work in the real world and at the same time are solid and very suitable base for implementing software reflecting these workings.
As a great invention and contribution C is, was and still is, some of the community have moved on from the parens mess... but the majority of it the community - I'm part of that crowd - has a hard time for moving on to a more advanced (coder) life. If I could have even slightly influenced the choices Brendan Eich made when blessing us with JS, it would have been this: leave the C and paren family syntax for the way more advanced and readable Smalltalk syntax that does not overuse the parens, after all JS 'abandoned' many other 'good' things. In st, the parens have still great power and do what they do best: define precedence... in expressions. Even though I had a very hard time to get what the st-80 bunch tried to make understood, I felt it as a real progress after having toiled around with practically all 'languages and their dialects' common at that time. On the other hand, I'm sure - and hope -that Brendan Eich was making a very conscious decision about what syntax to pick... because after all, he could have ended up with another acceptable (G)ML/XML dialect, because already living in a great and successful one, such as the (X)HTML. Brendan Eich chose his battles wisely to introduce successfully the 'new' he wanted, and compromise on something not worth to die for.
Regarding (X)HTML: Unfortunately - or fortunately? - the X had no chance, since too much content had been created and it would be foolish to ignore it and lose the wealth I presents to these days (that's why I consider the browsers to be of the most complex and powerful SW pieces in existence.
Expecting and enabling meaningful backwards compatibility is useful: What would you say if you all printed matter would be declared as not be readable anymore. CDs - even the black vinyls - not playable anymore, paintings of the Sistine Chapel not viewable anymore and the building itself not visitable anymore, and on an on,... just because we are about to master comprehensive digitalization incl. virtual reality (and to express it seasonal: live a life of 'zoom')?
That would be really sad and make the world an even more depraved place that it already is.
Therefore I still like to read C and related but also enjoy the things that came after it and the things after those, and on and on.