[Haskell-cafe] Subtypes and Co/Contra-variance