Scala has accumulated a lot of cruft on its own over the years and it hasn't always succeeded, but at the same time I'd say that a core value has always seemed to be trying to unify Java's weird special cases ("why does every class member have to support being static, instead of just supporting first-class singletons?", "why are primitive types not part of the type hierarchy?", "why null?", or even "why are some type conversions hard-coded in the compiler?").