Understanding Type Variance: A Simple Guide to Covariance, Contravariance, Invariance, and Bivariance