position: The logical position of the argument. The first argument to the function has position 0, the next 1, etc. As with the stack, a single logical argument can be spread across multiple stack slots. If multiple entries share the same position value, then those arguments should have a representation field that has a componentOf entry.
Is "logical position" the order of arguments in the call or is it the order of parameters from the definition? I'm assuming it's not meant to be the order in which they're placed on the stack, because that would always be sequential.
The order in the call can significantly differ from parameter order due to:
Named parameters, which can be specified in any order.
Implicit parameters, like those, which can be passed to functions attached with using for in Solidity.
The literal suffixes we're going to introduce in the next release can even create a situation where the call has fewer arguments than there are arguments (due to a single fractional literal being split into two integer values under the hood).
I'd like some clarification about this passage:
Is "logical position" the order of arguments in the call or is it the order of parameters from the definition? I'm assuming it's not meant to be the order in which they're placed on the stack, because that would always be sequential.
The order in the call can significantly differ from parameter order due to:
using for
in Solidity.