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