Ah, I reread my code and realized that I could compare array-types using eq? instead of equals?. I'll change that once I get feedback on the current patch.
Right now there are no library functions for folding over arrays (or bytevectors, etc.) This implements them. fold-all produces a single value regardless of the number of dimensions of the array; it is implemented on top of array-for-each. array-fold produces an array of rank n-1, where n is the rank of the original array.
I'll write up documentation if the code looks acceptable.Regards,Jez