Odd scoping, equality, type coercion - those seem rather significant distractions. Having to explain that == doesn't really work and === is probably what they want seems beyond bizarre. And "function" as a way to introduce an anonymous function is just verbosity for verbosity's sake.
Unfortunately, the two other points you mention probably outweigh the actual language design.
Unfortunately, the two other points you mention probably outweigh the actual language design.