Generic pattern: (apply reducer (map item-function list-of-values)) Session 6: (apply string (map first-char list-of-strings)) There are many variations: - map a built-in function or: one we write - apply a built-in function or: one we write Generic pattern: (apply reducer (map item-function (preprocess list-of-values)))) Generic pattern: (apply reducer (map item-function (filter item-test (preprocess list-of-values))))