@hackage derive-monoid0.0.1

derive Semigroup/Monoid/IsList

derive-monoid

when your type can hold a list of itself, you can derive simple (but total/lawful) Semigroup/Monoid/IsList instances with TemplateHaskell.

see Derive.Monoid on hackage for examples and documentation.