When list variables are declared with a list containing variables as initial value, the managing VariableListExpression seems to save the variable expression given with that argument list instead of the represented values. E.g.
for a variable
stores the expression behind var instead of the value 1. So changing the value of var after the declaration of somelist still effects the value of somelist. That's not the case if ADD was used instead.
Consider this example: