Currently our rooted store (sqlite) takes a long time to generate, and is quite large.
We can optimise generation later for sure, but the size is mostly unavoidable.
Currently if we run replay, we overwrite this database. This means that if we want to start from a snapshot again, we would be starting with invalid state. Currently this means that we need to either a) keep a backup of the rooted store at the point of loading, and have two copies, or b) re-generate this store every time we start the validator for debugging purposes.
This wastes disk space, time, or both.
Ideally we would have a cheap or free way to go back to the snapshot state, or perhaps store modifications on top of the snapshot state separately.