Why are `sum` and `product` defined via foldMap' and not foldl'?