> You're forgetting something. It's not "If it quacks...", it's
> "If it quacks... and if it walks...".

not really!

The method I want to inject ONLY cares for quacking, NOT walking, so
for this method, an object that quacks IS a Duck.

The same happens with Ruby's to_s:

Array (~Hawk) implements to_s, so for puts it is a String (~Duck)
George.

-g.