Is it reasonable to assume that the list returned by ARRAY-DIMENSIONS is modifiable? It is conceivable that an implementation could actually keep this list in the array object, so that modifying it would have the sort of disastrous consequences that modifying a symbol's print name has.