For me the main draw of Scala is that it seems to be the only language that implements data compositionality efficiently. I am replacing a large Java program that uses a dog’s breakfast of inheritance, interfaces and delegates, by compositional programming in Scala, because Scala’s intersection types does the job more clearly and efficiently. At first I thought Scala was named after the famous opera house in Milan, but sadly not.