>I realized it aided compatibility with languages that do not support homogeneous arrays.
Don't you mean languages that only support homogeneous arrays (or languages that do not support non-homogeneous)?
As the spec says that the array elements must all be of the same type, thus homogeneous.
If I a mistaken, can you please explain why?