MODULE TWith; VAR ExitCode : INTEGER; r : RECORD x, y : INTEGER END; a : ARRAY [0 .. 1] OF RECORD v : INTEGER END; BEGIN r.x := 10; r.y := 20; WITH r DO x := x + 1; y := y + x END; WITH a[1] DO v := 5 END; WITH r DO WITH a[0] DO v := 2 END; x := x + a[0].v END; ExitCode := r.x + r.y + a[0].v + a[1].v END TWith.