Ну, по аналогии с case. Ntv более, что у Дейкстры именно такая семантика: цикл выполняется, если ХОТЯ БЫ ОДНА охрана истинна.
Но  вытянем в строку:
## Код:
```
while expr1 do ... expr2 do ... expr3 do ... end
```

В таком варианте не видать, чем заканчивается последовательность операторов после do. Мне предыдущий вариант определенно нравится больше:
## Код:
```
while |expr1 do ... |expr2 do ... |expr3 do ... end
```

Можно | перед первым выражением не ставить, но наличие подчеркивает равноправность всех выражений.