Последовательность редактирования двух массивов и её применение в CMSimple

Одна из задач которые приходится решать программисту - это нахождение такой последовательности операций (вставка,копирование,пропуск), чтобы массив A стал массивом B. По умному это еще называют "редакционное предписание".

Сталкивался с этим вопросом и я, когда писал скрипты на PHP. А потому написал функцию, исходный текст которой можно посмотреть здесь. Она не рассчитана на сверхбольшие массивы, так как потребление памяти кратно произведению длин исходных массивов, но массивы длиной до 50-70 элементов ей вполне по силам.

Функция возвращает массив команд вида:
Ну и, наконец, вторая функция - та которая позволит задействовать этот хитрый функционал в CMSimple.
(допишу позже)