Data continuously flows through organisations, and on its way, it's transformed many times to serve different purposes. Functional design emphasises data transformation—projections— rather than repeatedly mutating state in a single database. One particularly useful form of projection is the creation of read-optimised data structures tailored to well-defined use cases.