许参数逆变的面向对象语言并不多——C++和Java会把它当成一个函数重载。然而，Sather既支持协变，也支持逆变。对于重写的方法，"出"参数和返回值是协变的，而常规的参数是逆变的。
协变的方法参数类型.在主流的语言中，Eiffel允许一个重写的方法参数比起父类中的那一个有"更加"具体的类型，即参数类型协变。因此，Eiffel 版本的 会如下所示：这并不是类型安全的。通过把 转换为 ，程序员可以把“狗”放进猫庇护所里。这种类型安全性的缺失（在 Eiffel 社区里称为“猫