// out: func(L tok, int cIndex) -> S // condition: func(L tok, int nIndex) -> S [yeah it's inconsistent] sbool jreplace_dyn_allowDollarRefs(LS tok, S in, IF1 out) { ret jreplace_dyn(tok, in, (_tok, cIdx) -> { S replacement = out.get(cIdx); LS subList = subList(tok, cIdx-1); // N to N ret jreplaceExpandRefs(replacement, subList); }); }