> Why does an append to a list variable with no elements not assign the
> resulting list to the variable ?


It is a failure of vision on Phil's part.
It is difficult to fix but easy to work around:
always write l = append l, 1;

Russ