title: Why aren't there many discussions about co- and contra-variance in Haskell (as opposed to Scala or C#)?
body: <p>I know what covariance and contravariance of types are. My question is why haven't I encountered discussion of these concepts yet in my study of Haskell (as opposed to, say, Scala)?</p>
  
  <p>It seems there is a fundamental difference in the way Haskell views types as opposed to Scala or C#, and I'd like to articulate what that difference is.</p>
  
  <p>Or maybe I'm wrong and I just haven't learned enough Haskell yet :-)</p>