As I was reading, I was reminded of schema-migration definitions which some ORMs/DB tools give you (I currently use Knexjs). There might be a useful intuitive correlation there [edit: I see jka and the post already pointed that out]. Of course in the context that I&S is discussing, the migration is at “runtime” (so to speak) because we’re dealing with systems that can’t do all-at-once migrations. Like intrepidhero commented, I’m curious to know if declarative lenses will be sufficient for the task, but I’m glad that’s what they explored. I’ll be reading this post again more closely in the future.