Semigroup
cats
semigroupalK
Derive
DeriveMacros