Snapshot instances are externally immutable, so there are a number of `with*` and `without*` methods that will create copies with/without certain information.