This is definitely one of the most difficult things when designing a language/system. You want it to be powerful and it is so easy to just keep adding features. How do you get a minimal set of the right features which allow you to build everything else nicely on top of them? Dijkstra has a number of good quote about this, for example "Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better."
There is not much you can do about this, Scala has the same issue with Java. You just need to keep it at a reasonable level and explain what comes from where, and why.
Can't argue with these points.
Whatever you do you will always annoy someone.