Yeah... I couldn't believe how many until I read its code. The main thing is that it works for any number of dimensions, not just two; that's why it uses RESHAPE. (I should look into whether the primitive RESHAPE, which was added after I wrote the library, would work.)
(I should also get someone who's better at optimization than I am to redo the library, after he finishes logic programming. :~) )