Update the implementation of ARRAY to use this new function.
Also, give better names to the local variables in larray().
The new function accepts the argument itself, not the argument list.
It therefore does not modify the argument list as a side effect.
This is part of a larger effort to make the code base simpler by reducing the number of side effects.