100% agree with this proposal
Like we can have values that are optionals and others that not, ensuring that a value is there, arrays/collections must provide a non-optionally-populated or not-empty-ensured version.
I think is a common mathematicall condition to have "a non empty set" a "1:n relation" (but 0:n) etc.
Maybe it is tricky to figure out a layer over existing types to accomplish it easely.
Thinking about it, what really is a an Optional array? If there is not array (.none) you can create an empty one, and nothing changes. No content, no values are changed, you can go on.
And in the other side, if there's an array value there (.some), what matters in case it is empty? If it's empty you can do nothing with it, only apply operations that will really do nothing, beacuse there is no data. The same you could do in case there was .none array.
It make more sense when working with immutable data structures, in a declarative style. But, in generall it would worked well to use Optional over array types to address it (with an aditional method to ensure the array is there emptyOrPopulated whenever it's needed).