Data.Derive.Ref
Description
A pseudo derivation. For each field in the data type, deriving
Ref generates refFieldName = Ref { select = fieldName , update =
f v -> v { fieldName = f (fieldName v) } }.
This is intended for use with the compositional functional references described in http://www.haskell.org/pipermail/haskell-cafe/2007-June/026477.html.