In reply to Thomas Kruse:
This is an open issue in the LRM.
I believe the intent was that type: and default: are both supposed to recursively descend until reach a simple packed array, i.e. a single dimensional packed array of bits. So the second example would only descend into the first dimension and logic would not be a match; A == '0.