Use arraylists for the race checkpoints, frees over a thousand globals.
Assigning to @TimePath due to a hacky fix applied in the arraylist implementation.