-- https://dev.to/piq9117/haskell-generating-lenses-for-third-party-libraries-1oik module ThirdPartyLens where import Language.Haskell.TH import Control.Lens.Operators import Control.Lens.TH mkCustomLenses :: Name -> DecsQ mkCustomLenses = makeLensesWith $ lensRules & lensField .~ (\_ _ name -> [TopName ( mkName $ nameBase name ++ "L" )]) -- you can append whatever suits your code base here, I chose to append "L"