group<T, K> function
Groups elements by a key function.
Implementation
Map<K, List<T>> group<T, K>(Iterable<T> iterable, K Function(T) key) {
final map = <K, List<T>>{};
for (final item in iterable) {
final k = key(item);
(map[k] ??= []).add(item);
}
return map;
}