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:
* Polymorphic updating
* 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.