scalaz
Derive a Semigroup or Monoid instance from a Plus or PlusEmpty.
https://hackage.haskell.org/package/reducers-3.12.1/docs/Data-Semigroup-Alt.html#t:Alter
(Since version 2.8.0) use productIterator instead
Derive a Semigroup or Monoid instance from a Plus or PlusEmpty.
https://hackage.haskell.org/package/reducers-3.12.1/docs/Data-Semigroup-Alt.html#t:Alter