Python's implicit interfaces, Objective-C's more
explicit "protocol"s, and similar features in other
dynamic languages like Ruby and Smalltalk, have
been given the name
here or just do a Google search.
You pass me an object, and "If it looks like a duck,
waddles like a duck, and quacks like a duck,"
then as far as I'm concerned, it may as well be a duck.
Reminiscent of Duct Taping something together: not always
the most perfectly elegant way to do something, but often
the way that works now. May not last forever, but may well
last as long as it is needed.
Sounds best when spoken with an Australian accent.