Сначала ломал голову над странными LOOP'ами. Потом обнаружил повторяющуюся схему:## Код:
```
LOOP
   IF A THEN
      EXIT;
   ELSIF B THEN
      OneShotCode; (* здесь может быть много строк кода *)
      EXIT;
   END;
   Step; (* здесь тоже иногда больше одной строки *)
END;
```
Понял, что это всё преобразуется в простой и понятный линейный поиск:## Код:
```
WHILE ~A & ~B DO
   Step;
END;
IF ~A THEN
   OneShotCode;
END;
```
В такой записи код более компактен как по числу строк, так и по уровню отступа. После преобразования понял, что было самым странным. То, что код OneShotCode находится внутри цикла, но выполняется только один раз. :twisted: