// returns (number of list elements matched, index in element, index in string) static T3 matchStringListWithStringIC(LS list, LS string) { int iList = 0, iElement = 0, iString = 0; S element = first(list); while (element != null && iString < l(string)) { if (iElement >= l(element)) { ++iList; element = get(list, iList); } else if (!eqic(string.get(iString), list.get(iElement))) break; else { ++iElement; ++iString; } } ret t3(iList, iElement, iString); }