If it looks like a duck, swims like a duck and quack like a duck then it is probably a duck.
It is not the type of object matters but the operations that the objects supports. We can use duck typing for requiring even more methods to be available for an object by just expanding the parameter signature.
Caution: Overusing duck typing can negatively affect the code quality and application performance
Duck Typing using Scala