Each time you write a method that accepts arguments you must make a decision as to the type of those arguments. If you are not careful, your choice could place unnecessary restrictions on the caller of the method that requires them to pass too specific of a type.