The condition should be 'ArgParts.size() > MaxElements', so that if we
have exactly 3 elements in the 'ArgParts' vector, the promotion should
be allowed because the 'MaxElement' threshold is not exceeded yet.
The default value for 'MaxElement' has been decreased to 2 in order
to avoid an actual change in argument promoting behavior. However,
this changes byval argument transformation behavior by allowing
adding not more than 2 arguments to the function instead of 3 allowed
before.
MaxElements is also used elsewhere (handling byval args) besides the one place below.
I think making the two uses consistent makes sense and should be ok, but that should be noted in the description (this doesn't preserve existing behavior as currently stated). if somebody complains about this regressing anything, we can split MaxElement into two separate parameters