Array support

This PR provides support for arrays. (Before we only had slices.)

Also, now slices *and* arrays use randomly-generated iterator variable names to avoid collisions for nested array types.