Duck typing and polymorphism