svoid flexMatchAngleBracketVarsIC_honorPunctuation_iterate(S pat, S input, VF1<SS> onMatch) {
  new LS vars;
  S starsPat = angleBracketVarsToStars(pat, vars);
  flexMatchIC_iterate(starsPat, javaTokWithBrackets(starsPat), javaTokWithBrackets(input), voidfunc(Matches m) {
    SS map = matchesToMapUsingVarList_ciMap(m, vars);
    if (map != null) callF(onMatch, map);
  });
}