Guess I was a bit tired when I wrote that.
The idea behind chaning the mapping case was to have a consistent behaviour between mappings and objects. With virtually no time spent considering the issue I see no reason to disallow subtypes in array entries either.
Oh, and the setter/getter syntax is `foo=(), not `=foo().