Сделал. Не особо коротко вышло. Думаю мб убрать перегрузку на два аргумента, заменив (partial apply merge-sort) на #(). Либо переместить третью перегрузку во вторую с лупом. Второй вариант вроде как идиоматически верное применение лупа будет, но код длиннее получится. Первый вариант мне внешне не нравится, но придется
Если у кого есть идеи как сократить код, буду рад слышать