Frozen segments, oldest first, immutable once added. A plain list read under lock, not a copy-on-write one: freezes are frequent and reads rare, so COW would charge the writer O(segments) per freeze to save the reader a snapshot.