<itemvalue="Groups elements by [keyOf] then folds the elements in each group. A key is found for each element using [keyOf]. Then the elements with the same key are all folded using [combine]. The first call to [combine] for a particular key receives `null` as the previous value, the remaining ones receive the result of the previous call. Can be used to _group_ elements into arbitrary collections. For example [groupSetsBy] could be written as: ```dart iterable.groupFoldBy(keyOf, (Set<T>? previous, T element) => (previous ?? <T>{})..add(element)); ````"/>