When to use duck typing