MODULE TArrFwd; // An ARRAY whose index type is declared later (a forward type reference): // its bounds are patched when the TYPE block completes. Exit 42. TYPE a = ARRAY idx OF INTEGER; idx = [-2..2]; VAR x : a; ExitCode : INTEGER; BEGIN x[0] := 5; x[2] := 37; IF x[0] + x[2] = 42 THEN ExitCode := 42 ELSE ExitCode := 1 END END TArrFwd.