I saw that a similar question has already been asked here: Why use subtypes instead of traits and duck typing?