Note that this is a research article. The target audience is other researchers in the field, who it would seem would already be familiar with this term. That target audience apparently doesn't include you, which is something that happens fairly often on hacker news and seems like something not to get upset about. It doesn't include me either, but after I actually read the text of the first page of the article it was quite clear from context what co-iteration means. Given the level of effort you've put in so far in this thread my guess is you don't really care what it means, but in case you do: it is about iterating through more than one array simultaneously, generally to do some computation that needs related elements of the multiple arrays at any given step. The example they give is a dot product, where you want to multiply the elements at corresponding locations in two arrays (and then add those products up). They then present clever ways to tell their compiler about different ways of representing sparse arrays so that efficient algorithms for this kind of coiteration can be generated automatically, rather than having to be handwritten for every pair of representations.