úÎŒÁNonederiveAccessors n where n+ is the name of a data type declared with data¤ looks through all the declared fields of the data type, and for each field ending in an underscore generates an accessor of the same name without the underscore.&It is "nameDeriveAccessors" n f where f satisfies 0f (s ++ "_") = Just s f x = Nothing -- otherwise!For example, given the data type: Hdata Score = Score { p1Score_ :: Int , p2Score_ :: Int , rounds :: Int }deriveAccessors% will generate the following objects: ­p1Score :: Accessor Score Int p1Score = Accessor p1Score_ (\x s -> s { p1Score_ = x }) p2Score :: Accessor Score Int p2Score = Accessor p2Score_ (\x s -> s { p2Score_ = x })-It is used with Template Haskell syntax like: $( deriveAccessors ''TypeName )>And will generate accessors when TypeName was declared using data or newtype.nameDeriveAccessors n f where n+ is the name of a data type declared with data and ff is a function from names of fields in that data type to the name of the corresponding accessor. If f returns Nothing0, then no accessor is generated for that field.None           6data-accessor-template-0.2.1.13-HVRHQQMhgdGGP73qJ6gDQJData.Accessor.TemplateData.Accessor.Template.ExamplederiveAccessorsnameDeriveAccessorsstripUnderscore namedFieldsFooBarQuxx_ HigherKindy_z_xyz