Eiffel in its current form is not completely type safe. Type errors
(called catcalls in Eiffel speak) are possible. The compiler
cannot detect these type errors. They usually trigger an exception
at runtime.
These type errors are possible due to covariant redefinition of
arguments and polymorphy. Both principles are very powerful in OO
programming.