It's broken for uniform arrays, since uniform.id() stops being the index
then.
We need to add a more complex integration with angle for this to ever
be correct.
Unfortunately the ANGLE part that we should touch is C++, and it has
destructors, so we need to hook destructors there, and I can't do it
right now.