Lenses
Lenses are a modular, functional method to update and read immutable record fields. They were developed originally by the Haskell community but have now been ported to other languages, including OCaml. If you’re writing a functional application with deeply-nested immutable records, Lenses are very helpful.