Ассоциативные списки Ddar
Структура строк DDar, позиция ассоциации и данных, условное разделение пары и условия операций DDarCut, изложенные без вымышленных сигнатур.

Назначение
Ассоциативные списки DDar представляют собой список списков Dar. Каждая строка такого списка использует нулевую позицию для ассоциативной переменной, а первую позицию и, при необходимости, более поздние позиции для переменных данных. Читателю полезно различать три уровня: вся строка как элемент списка, отдельная переменная внутри строки и содержимое этой переменной. Операции над DDar работают именно с этими уровнями, и путаница между ними приводит к неверным ожиданиям о результате.
Представление данных
Для наглядности возьмём полностью гипотетическую пару из трёх логических позиций: ассоциация A, B, C и данные p, q, r. В этом примере предполагается попозиционное соответствие: A стоит напротив p, B против q, C против r. Такое соответствие является допущением конкретного примера, а не универсальным свойством DDar. Реальные строки могут содержать данные в первой позиции или в более поздних, и ни одно сохранённое описание не гарантирует семантической связи между позициями.
Параллельное разделение
Рассмотрим разрез после первой логической позиции. Префиксы получаются A и p, суффиксы B, C и q, r. Разрез проходит в одной и той же точке обеих последовательностей, поэтому структура пары сохраняется: префиксы образуют новую пару, суффиксы другую. Это иллюстрирует принцип, описанный для группы DDarCut: поиск вхождения в ассоциации, разрез ассоциации и данных в соответствующих позициях и замена найденного вхождения. При этом ни реальные выходные данные, ни конкретная сигнатура вызова в примере не демонстрируются.
Равная длина и её пределы
Операции DDarCut требуют равенства длин ассоциации и данных. Это условие относится к определённым операциям, а не ко всем функциям DDar в целом. Даже при равном количестве позиций равенство чисел само по себе не доказывает, что значения стоят в значимом порядке. Три позиции могут совпадать по числу и расходиться по смыслу, если данные заполнены в произвольных местах строки.
Единицы и границы
Любой реальный контракт функции обязан указать, в каких единицах измеряется длина и индексация: байты, кодовые единицы, символы. Пример выше оперировал абстрактными логичесими позициями. Одна и та же строка текста в разных кодировках занимает разное число байтов, поэтому переносить абстрактную модель на конкретные байтовые расчёты без указания единицы нельзя.
Ограничения
Описанная группа DDarCut находит вхождение, разрезает обе последовательности и заменяет вхождение ассоциации. Это не произвольное удаление: данные в соответствующих позициях тоже разрезаются. Для вызова функции всё ещё нужны явные правила формы результата, передачи владения, поведения при неудаче и изменения исходных значений. Ни одно из этих правил не следует из названия операции и не подтверждено сохранёнными фактами.