static Map newGazelle_deepZip1(O inputA, O inputB) { if (eqOrEqic_gen(inputA, inputB)) ret emptyMap(); if (!(inputA instanceof L && inputB instanceof L)) null; Map map = antiFilterMap eqOrEqic_gen(zipTwoListsToMap_strict(inputA/L, inputB/L)); if (map == null) null; new Map map2; for (O a, b : map) if (a instanceof L && b instanceof L) { Map subMap = newGazelle_deepZip1(a, b); if (subMap == null || !putAllStrictly(map2, subMap)) null; } else if (!strictPut(map2, a, b)) null; ret map2; }