Further to Ed Hansberry's last post, it seems to me that the basic problem is that the dynamic arrays either return the full array, or they return the "spill" message. That may be OK for some applications, but for many it makes them unusable, with the only workaround being to enter the array as a fixed size, with Ctrl-Shift-Enter.
I suggest the following changes that would provide all the benefits of the dynamic arrays, without the drawbacks.
1. When an array is too large to display in full, replace the "spill" message with a display of as much of the array as will fit, with a distinctive border to indicate that it is a partial display.
2. Retain the Ctrl-shift-enter functionality to allow display of partial arrays without the border.
3. Improve the Ctrl-shift-enter so that arrays can be re-sized to a selected range, or returned to dynamic mode by entering with just enter.
4. Drop the "single" function entirely, or at least don't insert it automatically.
5. Any arrays that return a single value, such as the Index examples, would display as normal, without the "single" function added.