Representation of Scala Collections traits with their default implementation.
Strictly speaking, List is not an implementation but an abstract class. The real implementation is provided by List’s concrete implementations: class :: and object Nil
The same applies to Stream, that is an abstract class with 2 concrete implementations: class Cons and object Empty.