duck typing