The trouble with subtyping: An introduction to type bounds 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.