Scala Design Patterns.
上QQ阅读APP看书,第一时间看更新

The unification

After all of the preceding examples, it is obvious that class hierarchies and ADTs are unified and look like the same thing. This adds a high level of flexibility in the language and makes modeling easier than in other functional programming languages.