foldMap

open override fun <R> foldMap(    M: Monoid<R>,     source: S,     map: (A) -> R): R

Map each target to a type R and use a Monoid to fold the results