Event versioning and schema evolution in event sourcing
A year in, the stored event has one Name and the code wants a first and a last name. Events can't be edited, so Chronicle translates them: generations, upcasts and downcasts, kept side by side by the kernel.