Trait with Diamond Problem
Linearization of the inheritance hierarchy
UpperBound explained
UpperBound Explained