There are many discussions on how to make Eiffel type-safe. The ECMA committee has been very active in coming up with solutions (though non of these solutions have been fully implemented and analysed). Most of these solutions evolve around the typing of entities and the rejection of certain polymorphic bindings.
I have claimed multiple times recently (for example in the articles Covariance through renaming or Type Safe Eiffel) that Eiffel does not need covariant arguments and any usage of covarianct arguments is conceptually flawed.
Still, it seems like people want covariance and are reluctant to remove it from the language. I have never used covariance, but I really want to know where people see it as necessary.
So here is my plea: I want to know about you and how you are using covariant arguments in your applications or libraries. Give me examples, so I can try to understand and learn why covariance is necessary and helpful.