У меня есть функция на Common Lisp, она принимает два списка (желательно равных) и имя функции. Потом она применяет полученную функцию попарно ко всем элементам списков, и собирает возвращаемые значения в результирующий список. Ума не приложу какое название, емкое и лаконичное подойдет ей. Вот сама функция:
(defun pair-lists-fun (a-list b-list fun)
(loop for a in a-list
for b in b-list
collect (funcall fun a b)))
Её можно применить например, что бы сложить попарно элементы списков.