The main problem with CoffeeScript is that you're still talking about the exactly same type system and mostly the same problems, minus some superficial fixes and plus some syntactic sugar.
I prefer more heavy-weight approaches that use Javascript as a compilation target. Clojure and Scala can both compile to Javascript, but you're talking about different communities, libraries and tools, so very much like Dart, but focused on targeting just Javascript VMs.
Yes, I wrote coffeescript daily for a few months. It is also much more productive then JavaScript is, and I do enjoy it more then JavaScript, but I still find it lacking compared to Dart. Dart gives you the option of static typing. Static typing speeds up development because the compiler itself gives you a bunch of free debugging effort. I also find it much easier to manage includes and layout of the code. There is no need for tools like require.js, browserify, or bower.
I think once you've took the red pill of "There has to be something which is better than JavaScript" it is hard to go back.
Once you've written some CoffeeScript you will start to long for even more semantic improvements beyond classes, preventing you from polluting the global namespace and being able to bind `this` using the fat arrow.
I prefer more heavy-weight approaches that use Javascript as a compilation target. Clojure and Scala can both compile to Javascript, but you're talking about different communities, libraries and tools, so very much like Dart, but focused on targeting just Javascript VMs.