This package provides first class(†) functional references. In addition to the
usual operations of getting, setting and composition, plus integration with the
state monad, lens families provide some unique features:
Cast projection functions to read-only lenses
Cast "toList" functions to read-only traversals
Cast semantic editor combinators to modify-only traversals.
(†) For optimal first-class support use the 'lens-family' package with rank 2 /
rank N polymorphism. "Lens.Family.Clone" allows for first-class support of
lenses and traversals for those who require Haskell 98.