// S s = opt cast ...;
static LS tok_equalsOptCast(LS tok) {
  if (!tok.contains("cast")) ret tok;
  int iVar = -1;
  while ((iVar = jfind(tok, iVar+1, "<id> = opt cast")) >= 0) {
    int iTypeStart = tok_scanTypeBackwards(tok, iVar-2);
    int iCast = iVar+6;
    int j = scanToEndOfInitializer2(tok, iCast);
    S type = joinSubList(tok, iTypeStart, iVar-1);
    replaceTokens(tok, iCast-2, iCast+2, "optCast " + type + "(");
    tokPrepend(tok, j+1, ")");
    reTok(tok, iCast-2, j+2);
  }
  ret tok;
}