There may be a good reason I am missing, but if !persist, I think we can omit the key from the reducer registry altogether. Otherwise, in the course of an app that generates many dynamic local state (e.g. a bunch of forms), we end up with a very heavily populated registry, and even if the reducer is just x => x, we end up having to enumerate over every key, run x => x, compare x === x, and move on.
There may be a good reason I am missing, but if !persist, I think we can omit the key from the reducer registry altogether. Otherwise, in the course of an app that generates many dynamic local state (e.g. a bunch of forms), we end up with a very heavily populated registry, and even if the reducer is just x => x, we end up having to enumerate over every key, run x => x, compare x === x, and move on.