static LS ai_applyWordSplitPattern1(LS tokP, LS tokI) {
  LS tokI_original = tokI;
  tokI = cloneList(tokI);
  for (int i : indicesOfSubList(tokP, ll("", "{}", ""))) {
    //if (l(tokI) < i+2) ret tokI_original;
    S l = get(tokP, i-1), r = get(tokP, i+3);
    if (startsWith(l, "$") && isIdentifier(l) && isIdentifier(r)) {
      S x = get(tokI, i-1);
      if (!ewic(x, r)) ret tokI_original; // fail
      tokI.set(i-1, dropLast(x, l(r)));
      tokI.add(i, "");
      tokI.add(i+1, "{}");
      tokI.add(i+2, "");
      tokI.add(i+3, takeLast(x, l(r)));
    }
  }
  ret tokI;
}