sS joinTokensWithRanges(L<TokenAndRange> l) {
  new StringBuilder buf;
  if (l != null) for (TokenAndRange t : l)
    buf.append(t.token);
  ret str(buf);
}