Every call to ::next_section() copies the location list and sorts all the regions. If the session has a significant amount of Locations and Section Marker (#9568 has 300+) sorting them each time when iterating over sections is significant.