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