Another issue I thought of is how array literals interact with macros.
Vectors are like lists so they can interact with syntax-rules, but array
literals are trickier.
But literal arrays (even those of the generic storage class) have their
structure determined by lexical syntax (the number like in `#3a`). So
their internals are restricted in a way that would be difficult to
specify how syntax-rules would be able to generate array datums.
However, if arrays can be represented as datums, then they can be
returned as syntax objects in syntax-case. A procedural syntax-case
macro could use the array operations in e.g. SRFI 231 and return an
array that would be represented as a datum. So we could have a general
expand-time mechanism for precomputing elements of arrays.
-- Peter McGoron