contravariance solved