Concept Flow - GroupBy operation
Start with collection
Pick each item
Find key for item
Add item to group with that key
Repeat for all items
Return groups as collection of groups
GroupBy takes each item, finds a key, and puts items with the same key together in groups.
