Mark some dataclasses as frozen
All the action/batch/page classes can’t be frozen due to the cleanup()
method. Maybe that should be cleaned up (haha) later, by making those
methods return new instances, but for now we just leave them unfrozen,
Runner and StringTableStore can’t be frozen because they assign to
internal members in post_init.