unction call had to be called with precisely the correct number of arguments. I didn't expect this to be so limiting, but over time, I discovered there are many, many places where a parameter list of varying length is useful:</p><ul><li>Without optional parameters, I was forced to sometimes write multiple versions of the same function, like <code>sort()</code> and <code>sortBy(predicate)</code>, one of which took some property to sort a list by.</li><li>It's often more natural for a function to take a varia