In chapter 11, you saw that in FP we avoid mutating state, especially global state. Did I mention that the database is also state, so it too should be immutable? What? Yes, didn’t you see this one coming? A database is, conceptually, just a data structure. Whether it’s stored in memory or on disk is ultimately just an implementation detail.
You saw in chapter 12 how functional data structures, although immutable, can evolve: you can create new states or new views of any given structure that are built on but don’t alter the original structure. This idea (which we explored with respect to objects, lists, and trees) naturally applies to in-memory data, as well as to stored data, and this is how our applications represent change without mutation, even at the database level.