Is this required? Would duck typing suffice?