MODULE Bug1 EXPORTS Main; PROCEDURE P() RAISES {}= VAR buffer: ARRAY [0..15] OF CHAR; BEGIN WITH half = SUBARRAY(buffer, 0, 8), quarter = SUBARRAY(buffer, 0, 4) DO Check(half, 8); Check(quarter, 4); END; END P; EXCEPTION Error; PROCEDURE Check(READONLY a: ARRAY OF CHAR; size: CARDINAL) RAISES {}= BEGIN IF NUMBER(a) # size THEN RAISE Error END; END Check; BEGIN P(); END Bug1.