All template arguments must be used so that the compiler can infer the types associated with the template arguments from the actual values used in the call.