In the language, things I don't like include.
for(x in y)construct applies to Objects and can't be overloaded, so it doesn't do the right thing for arrays and you still need to write
for (var i=0; i<arr.length;i++)ad infinitum
watchproperty which is similar to
tie-ing writes to an object, but I can't find a similar way to tie reads.
+is overloaded to mean string concatenate. To add 2 variables you need to do something like
var1 -0 + var2(subtracting 0, of course, to coerce it into a number, because doing
+0would just append "0" if var1 is a string)