This fixes a bug where NAME didn't behave correctly if the input variable name is name.variable.input or name.value.input.
As for QUEUE and DEQUEUE, the common case (when the procedure's parameter's don't shadow the variable to be assigned)
is executed within the procedure, not as the macro's output list.