I wasn't familiar with itemgetter, but it looks like a good approach. (I've written enough Emacs Lisp over the years that lambdas don't phase me.)  I'll switch to itemgetter.