Thank you Adám, your answer was incredibly thorough and gave me a lot to think about, as I think I'll be re reading it for the next few days :)
In the meantime, two things jump out to me:
1) I can't figure out what `,∘,` does. I played around with it some, and replacing it with `,` in the code you shared seems to not break anything: is it maybe a generalization for higher rank arrays? In general, composing a function with itself looks a bit unusual to me. Could `⍤` be used instead of `∘`? Do you think it that would be more clear?