A function or procedure should have a single and well-defined responsibility. Such a function is easier to understand, change, maintain, test and reuse. Too many parameters is an indication that the function/procedure has too many responsibilities.
With default maximum number of parameters: 3
function too_many_responsibilities (length, width, height, color: integer) return integer;
With default maximum number of parameters: 3
function single_responsibility (length, width, height: integer) return integer;