This package provides first class functional references. In addition to the usual operations of getting, setting and composition, plus integration with monad state, 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.