úÎw…     A primitive field descriptor. Modify the given 'data' or  'newtype'% declaration so that all field names E are prefixed with an underscore followed by the given string, and L generate declarations of field descriptors for all fields, each bound to G the corresponding field name prefixed with the given string (but no  underscore). 8Example usage (this goes at the top level of a module):  ? record "foo" [d| data Foo = Foo { bar :: Int, baz :: Int } |] $Note: the second parameter is Q [Dec] because this is what the [d| |] H form returns, which is the most convenient way to use this function. J However, the list must contain exactly one declaration, and it must be  a 'data' or  'newtype' declaration. ENote: in addition to adding the given prefix to each name, the first 2 character of the original name is capitalized.     A compound field descriptor. 5The class of field descriptors. A descriptor of type 'f a b' refers to a  field of type b* nested somewhere within a record of type a. Get the value of a field. Put a value into a field. 4Modify the value of a field by applying a function. ,Join two field descriptors into a compound.  . is left-associative with precedence level 9. )Get the value of a field from the state. 'Put a value into a field in the state. AModify the value of a field in the state by applying a function. CEnter the context of a field and run a stateful computation there. Like  6, but allows the stateful computation on the field to < share the same underlying monad as the enclosing record.         state-record-0.0.1Data.Record.StateFieldsData.Record.StateFields.CoreFieldrecord FieldPath SomeFieldgetFieldputFieldmodField//getfputfmodfenterenterTrecord'