You wrote:
"What has me stumped in particular in that example is why I can't "say" elements of the numeric array as strings."
The issue there is the complexity surrounding the process of setting one array to another array. See my discussion of this at
http://www.dickbaldwin.com/alice/Alice0180.htm
Apparently, when you declare an array of one (first) type and then "set" it to another array (second) of a different type, you change the type and possibly the size also of the first array to match that of the second array. Then you populate the elemens in the first array with references to the contents of the elements in the second array, losing whatever may originally have been stored in the first array.
See the attached modified version of your program where I successfully "say" the contents of the numeric array before setting that array to the second array. At that point, I believe that the original contents of the numeric array have been destroyed, and in fact the type has been effectively changed from Number[] to String[]. If the two arrays had been different sizes, even the size of the first array would be changed. See the attached a2w file.
Frankly this all seems very strange to me because of my Java background. Assuming that a "set" command in Alice is comparable to an assignment in Java, it would not be possible to set one array of a given type to another array of a different type in Java.
More correctly, all array structures are encapsulated in objects in Java, and you must store a reference to an array object in a reference variable with a matching type (not exactly correct, but close enough) in order to access the contents of the array.
While you could create another array object of the same type and store its reference in the original reference variable (overwriting what was originally there) you could not create a new array object of a different (incompatible) type and store its reference in the original reference variable. And, the primitive numeric types are definitely not compatible with the string type.
I would like to see an example of a program that sets one Alice array to another Alice array and follows good programming practice. So far, I haven't been able to come up with any good use for the ability to set one array to another array.
By the way, on a totally different subject, what is the "proper" way for including a quote from a posting in the response to that posting?
Dick Baldwin