Moved Contravariant to its own package