array functions



If I declare the array function h1[k](x):=block(print(x));
and execute h1[1]([1,2]);
it prints x, not [1,2] but the function returns [1,2].
Shouldnt it print [1,2], not x?
I see this behavior in maxima 5.5, and Macsyma 2.4.
Can anyone think of a work around for this or explain this behavior?
Dan Stanger