A categorical view of covariance and contravariance in C++ | Hacker News Reader