DEX - Research language for array processing in the Haskell/ML family

I think that the main reason why they use typed index is to do bound and index inference, which needs compiler’s support. And that’s why they are so concerned with the shapes’ information, they can use it to do some smart rewrite and get better performance.