https://sarabander.github.io/sicp/html/1_002e3.xhtml
Iterate
TakeWhile
Hoogle: product
Haskell Monoids and Their Uses
https://learnyouahaskell.com/functors-applicative-functors-and-monoids#monoids
https://book.realworldhaskell.org/read/data-structures.html#id637702
https://hoogle.haskell.org/?hoogle=Sum
Product
Data.Monoid
https://hoogle.haskell.org/?hoogle=Num
(Monoid_a)_=>_a_->_a_->_a
(Monoid_a)_=>_a