Introduction to the terms of covariance and contravariance. This post gives answers to the following questions: What is it? Where is it used in programming languages? What's supported by C# now? What will be supported by C# 4.0? Is it a good thing? Comments and discussion welcome!