Well, against the standard of ML, Scala does come up short.<p>Almost all of that is due to the intentional choice of running on the JVM with high interop compatibility. Choose ML-family or Haskell, and you don&#x27;t have Java baggage.<p>But I&#x27;d take types with class-vs-trait design choices, less-than-ideal match exhaustiveness checks, and type inference incompleteness any day over a language lacking <i>all</i> static typing features.