úÎ!J8  None-.18;<=>?HSUVX† barbies-thMbarbies doesn't care about field names, but they are useful in many use cases barbies-thA collection of field names. barbies-th,A collection of lenses (getter-setter pairs) barbies-thNA pair of a getter and a setter Not van Laarhoven to avoid dictionary passing  barbies-th?Transform a regular Haskell record declaration into HKD form.  , ,  ,  ,  ,  and  instances are derived. For example, @declareBareB [d|data User = User { uid :: Int, name :: String}|]becomes Edata User t f = User { uid :: Wear t f Int, name :: Wear t f String } barbies-thUnmangle record field namesWhen 5 is turned on, record field names are mangled. (see  |https://gitlab.haskell.org/ghc/ghc/-/wikis/records/overloaded-record-fields/duplicate-record-fields#mangling-selector-names)U We undo that because these mangled field names don't round-trip through TH splices. barbies-thswitch variable barbies-thwrapper variable barbies-thoriginal constructor   None          'barbies-th-0.1.4-JuxnJBwt9q2CX3y8bmFFdd Barbies.THData.Barbie.TH FieldNamesB bfieldNames AccessorsB baccessorsLensBviewBsetBgetLensB declareBareB&barbies-2.0.1.0-GWezepPC8vC6io1tXMWHwHBarbies.Internal.BareBBareBBarbies.Internal.FunctorBFunctorBBarbies.Internal.DistributiveB DistributiveBBarbies.Internal.TraversableB TraversableBBarbies.Internal.ApplicativeB ApplicativeBBarbies.Internal.ConstraintsB ConstraintsBunmangleghc-boot-th-8.6.3GHC.LanguageExtensions.TypeDuplicateRecordFields transformCon