Let's call it an operator. The fact that you can index into it as `I[i,j]` for any `i` and `j` makes it clearly not a matrix. There are situations where you need something that can tell you its size, which this can't. There are other situations where anything that can operate on a vector (or matrix) by left or right multiplication will suffice, in which case you can use this thing. It may make sense to have `CumSum` and `FFT` operators as well, although in principle, those could be implemented simply enough as `x->cumsum(x)` and so on.