I recently answered a question on Quora titled “What is something possible in duck type programming, which is not possible in Scala?” (The title was later edited by the OP.) I took the time to provide what I think is a good response, so I am embedding it here in the hope that more people benefit from it.
By the way, if this topic interests you, you might also want to read Chris Smith’s “What to know before debating type systems”, if you have not already.