fields-0.1.0: First-class record field combinators with infix record field syntax.



Instances for tuples of fields up to a 10-tuple. This allows accessing several fields simultaneously.

 r.#(field1, field2, field3#field4) =: (value1, value2, value3)

In addition, the pair instance is recursively defined, which allows stuff like

 import Control.Arrow ((***))
 r.#(field1, (field2, field3)) =~ (f *** g *** h)