今までの議論が循環しないように、書いておくと、
メソッドの作者が、どういうクラスのオブジェクトを引数にとることを想定しているか
じゃなくて、
期待する働きのメソッドを持ったオブジェクトが、引数にくることを期待して、
使用者がそういうオブジェクトを、メソッドに渡さないといけない。

この過程で、オブジェクトがメソッドを持たないとエラーを出すが、一見うまく行ってしまうとエラーはでない。
ここは、Rubyの限界で、Testするしかない、って感じかなぁ。