- get a cluster temp ref, don't recompute it 50 times (or hope the compiler optimizes it away)
- don't use at(i) if the size is known in advance and is not changing (the extra size checks inside at(i) are an overkill here)