Is that really true? I mean, it is not as if JavaScript is a subset of CoffeeScript. [1]
It seems to me that the worst case scenario here (for CoffeeScript) isn't backward incompatibility, it is drifting further away from the JavaScript syntax/grammar than one might like. Take the `for/of` concern raised in the thread. Why would CoffeeScript need to change its semantics to match that of ES6? ES6 could introduce a new and different meaning of `for` and `of` (whatever that is) but CoffeeScript could keep its meaning for `for` and `of` (whatever that is). The problem, if any, will be in "wetware".
Isn't the analogy here something like
CoffeeScript is to JavaScript as Closure is to the JVM.
Does Closure break if the JVM adds new features? Why would we expect CoffeeScript to?
[1] Excepting the back-tick delimited escaping for literal JavaScript, but that's not an issue here.