I just wanted to mention that I picked up the array thing from reading through ghost.zh. So, blame Saffith.
Of course, seeing that ghost uses it, you'd end up breaking quite a lot of things if you don't support it.
The heart of the problem is that ZScript treats int and int[] as the same thing. You can do the same trick for the other types as well,
but I don't know of anybody doing that.
If we end up compiling ZScript to AS (still not sure what the exact plan is), it shouldn't be too hard to fix. Just treat ZScript's arrays as their own "thing", separate from actual AS arrays. Just keep a table of them, and look them up anytime you do an array dereference. So, just compile them to eg. ZS_Array_Get(int id, int index) and similar instead of actual array references.