static ItIt flexMatchIC_iterator(S pat, S input) { L tokPat = javaTokNPunctuation_plusAsterisk(pat), tokInput = javaTokNPunctuation_plusAsterisk(input); ret flexMatchIC_iterator(pat, tokPat, tokInput); } static ItIt flexMatchIC_iterator(S pat, LS tokPat, LS tokInput) { L varIndices = flexMatchIC_getVarIndices(tokPat, tokInput); if (varIndices == null) ret emptyItIt(); ItIt spreadInputs = ai_spreadCertainIndices_2_iterator(tokPat, tokInput, varIndices); ret mapI_notNulls(spreadInputs, tok -> { new Matches m; ret match(pat, tok, m) ? m : null; }); }