Вставка оказалась ошибочной. Нужно учитывать пустой WITH и "появление" ветки ELSE после оптимизации.
## Код:
```
DevCPB.Construct(Nwith, x, s); CheckSym(end);
            IF e THEN x.subcl := 1 END;
            IF (1 IN DevCPM.extOpts) & (x.left # NIL) THEN
               s := x.right; DevCPB.OptIf(x);
               IF (x.class = Nwith) & (s # x.right) THEN x.subcl := 1 END
            END
```
Поставил рубильник, чтобы включать, когда надо для экспериментов.