Typebounds and variance?
The trouble with subtyping: An introduction to typebounds and variance
Many people come to Scala from object-oriented languages with class-based inheritance. Nevertheless, the complexity inherent in subtyping is often one of the biggest hurdles for them. In this talk I will explain type bounds, covariance, and contravariance from the ground up.