Florian, your example is not a fair one; it illustrates an intentional
violation of the semantics, whereas Roger is referring to an
accidental one.  In fact, it illustrates the lengths to which one must
go to trigger the problem in Java.

Roger, your question is one that I have shared.  I think it's
mathematically impossible to deny that the less restrictive nature of
duck typing makes it more likely to encounter an inappropriate
object.  The question, though, is how *much* more likely?  As in
premature optimization, do we really know that this will be a
problem?  Or are we incorrectly assuming it?

People with much more experience with Ruby than I (such as Dave)
report that this is not a problem in practice.  I think the minimal
risk here needs to be balanced with the formidable benefits of coding
in such a highly productive language as Ruby.

- Keith