!include once #1027630 // Msg cmodule NewEngineSpike > DynPrintLog { L msgs; start-thread { if (empty(msgs)) setField(msgs := mainCruddieLog()); print("Have " + nMessages(msgs)); pnlStruct(takeFirst(2, msgs)); L msgs2 = whereFieldIsTrue fromUser(msgs); for (Msg msg : takeFirst(5, msgs2)) print(ll(msg, "was understood correctly")); } Map shallowZip(O inputA, O inputB) { if (eq(inputA, inputB)) ret emptyMap(); if (inputA instanceof L && inputB instanceof L) ret mapWithoutKeysEqualToValues(zipTwoListsToMap_strict(inputA/L, inputB/L)); null; } Map deepZip(O inputA, O inputB) { Map map = shallowZip(inputA, inputB); if (map == null) null; Map map2 = similarEmptyMap(map); for (O a, b : map) { if (a instanceof L && b instanceof L) { Map subMap = shallowZip(a, b); if (subMap == null) null; if (!putAllStrictly(map2, subMap)) null; } else if (!strictPut(map2, a, b)) null; } ret map2; } }