mutable (hackage): Associate and generate "piecewise-mutable" versions for your composite data types.  Think of it like a "generalized MVector for all ADTs".  Useful for a situation where you have a record with many fields (or many nested records) that you want to use for efficient mutable in-place algorithms.  This library lets you do efficient "piecewise" mutations (operations that only edit one field), and also efficient entire-datatype copies/updates, as well, in many cases.  See https://mutable.jle.im for official introduction and documentation, or jump right in by importing Data.Mutable.
Keywords: bsd3|data|library