Could you apply following patch:
Index: mods/zk-lib_0.12.4/experimental/lazyAPI.lua
MY DESCRIPTION: mods conflict fix: aai-vehicles-ironclad_0.6.6.zip
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/mods/zk-lib_0.12.4/experimental/lazyAPI.lua b/mods/zk-lib_0.12.4/experimental/lazyAPI.lua
--- a/mods/zk-lib_0.12.4/experimental/lazyAPI.lua   (revision 978cb15dfbf6032925fb572bb31d74ad5a13d3cd)
+++ b/mods/zk-lib_0.12.4/experimental/lazyAPI.lua   (date 1675596936355)
@@ -1038,9 +1038,12 @@
                data_raw[_type] = {}
                lazyAPI.deleted_data[_type] = lazyAPI.deleted_data[_type] or {}
            end
-           local prev_instance = data_raw[_type][name]
+           local prev_instance = data_raw[_type] and data_raw[_type][name]
            -- Perhaps it should verify this case later instead
            if prev_instance and prev_instance ~= prototype then
+               if not lazyAPI.deleted_data[_type] then
+                   lazyAPI.deleted_data[_type] = {}
+               end
                lazyAPI.deleted_data[_type][prototype.name] = prototype -- TODO: recheck, perhaps I should use a metamethod instead
                local event_data = {prototype = prototype, prev_instance = prev_instance}
@@ -1067,7 +1070,7 @@
            local name = prototype.name
            local is_added = (data_raw[prototype_type][name] == prototype)
            if is_added then
-               local removed_prot = lazyAPI.deleted_data[prototype_type][name]
+               local removed_prot = lazyAPI.deleted_data[prototype_type] and lazyAPI.deleted_data[prototype_type][name]
                if removed_prot == prot then
                    lazyAPI.deleted_data[prototype_type][name] = nil
                end