Thanks +Addy Osmani
I started down that path and decided to switch. The problem I have with that approach is that everything is mutable. As soon as you try to add privacy (to fix that issue), you introduce constructor functions, and then you've basically written what CoffeeScript outputs. So why not just add the __extends method and get 95% of the solutions/benefits outlined in the GoF book?