Каков наилучший способ манипулирования/расширения ADT, который не под вашим контролем? (т.е. от зависимости)
Здесь - тип данных, относящийся к моей проблеме:
Я хочу сохранить структуру данных, но добавлять дополнительные данные (например, добавить другой тип), но сама структура не находится под моим контролем. Должен ли я сопоставлять данные с моей собственной версией этого определения?
Например, для всех абзацев в структуре я хотел бы, чтобы Para стал Para [Inline] [String], где [String] - это список слов, содержащихся в параграфе (как собственная структура данных).
Я обслуживаю эти данные как JSON через конечную точку, я думал, что один из способов, которыми я мог бы обойти это, - определить мой собственный экземпляр ToJSON и выполнить этот перевод на Para там, однако я не могу переопределить экземпляр так, как он уже определен! Я согласен принять решение, которое на самом деле не касается самого типа Para, мне просто нужен способ связать больше данных с Para, не теряя при этом никакой структуры полного документа Pandoc.