PERF: moving more and more things to arrays