> The problem with Scala is that architects can and sometimes will get giddy and create monsters.
> The amount of times where defining a partially applied higher-order function is the best way to solve a problem is nonzero, but still really really low.
I was with you until this. Using partial application doesn't create monsters, and in fact is rather easy to follow and understand (assuming you know what partial application is, of course).
There are however, features of Scala that can be abused to create monsters, the most obvious of which is implicit conversions. An extremely useful feature, but can cause a mess if you're not careful. And even with those, it's still entirely static, and your IDE can highlight which ones happened where, as opposed to something like Ruby, where you can update classes at runtime.