MODULE Main; TYPE Rec = RECORD f: INTEGER END; VAR r: REF Rec; VAR i: [0..10]; PROCEDURE P (VAR x: Rec) = BEGIN EVAL x.f; END P; BEGIN (* test that INC and DEC generate range checks *) INC (i, i); INC (i, 1); DEC (i, i); DEC (i, 1); (* check that disabling checks doesn't break *) i := r^.f; P (r^); END Main.