I've been working on SRFI 164 (Enhanced multi-dimensional Arrays) https://srfi.schemers.org/srfi-164/srfi-164.html This is more-or-less the Kawa design: https://www.gnu.org/software/kawa/Arrays.html which is a superset of SRFI 25 (https://srfi.schemers.org/srfi-25/srfi-25.html). I've been frustrated by the lack of support and feedback, and am tempted to withdraw the proposal because of that. So if you care about multi-dimensional arrays, and like the basic Kawa approach, please provide feedback (and encouragement). I could declare the specification "good enough", but it depends on two concepts that are also new: * Ranges are used for convenient and efficient selection of slices and rectangular sections. Kawa has ranges (https://www.gnu.org/software/kawa/Ranges.html) but they use a special syntax which is not suitable for standardization, and otherwise there is little prior art. I'm not sure what to do about that. The SRFI 164 draft includes a simple range API, but it is not implemented (even in Kawa), though it should be easy to do so. * SRFI-164 has a concept of a "generalized vector", which is a superset of traditional vectors, uniform vectors, bitvectors, and ranges. Roughly: sequences that are random-access indexable. Kawa has a "generalized sequence" concept, which (for example) allows indexing using function-call syntax. However, I think it is useful to generalize functions like vector-ref to work with "generalized vectors" but not go as far as allowing arbitrary sequences. The attached patch adds a new type "gvector" for generalized vector, and generalized vector-ref and some other function signatures to work with gvectors. Feedback more than welcome. -- --Per Bothner per@bothner.com http://per.bothner.com/