Я запутался. Пытаюсь найти в существущем PDF (который WIP), но там нашлось только:
> -- Цитата:
> A type guard on numbers has been introduced. A guarded number is converted to thegiven type if and only if its value is not changed. When it fails (i.e. when the actualvalue of a number is not compatible to / cannot be represented by the type), a trap israised.
При этом:
## Код:
```
MODULE Proba; 

IMPORT KernelLog, Commands;

PROCEDURE Test*(c : Commands.Context);
VAR i : UNSIGNED8;
BEGIN
i := 255; 
KernelLog.String("SIGNED64(i) "); KernelLog.Int(SIGNED64(i),0); KernelLog.Ln;
KernelLog.String("SIGNED64(UNSIGNED16(i)) "); KernelLog.Int(SIGNED64(UNSIGNED16(i)),0); KernelLog.Ln;
END  Test;

END Proba.Test
```

Печатает в 32-разрядной Windows версии вот что:
## Код:
```
SIGNED64(i) -4294967041
SIGNED64(UNSIGNED16(i)) 255
```

Пытался также посмотреть в сообщении об обычном Обероне, но там тоже как-то скупо.