package Aggr16_Pkg is type Time_Type is (A, B); type Time (D : Time_Type := A) is private; Null_Time : constant Time; private type Hour is record I1 : Integer; I2 : Integer; end record; type Time (D : Time_Type := A) is record case D is when A => A_Time : Integer; when B => B_Time : Hour; end case; end record; Null_Time : constant Time := (A, 0); end Aggr16_Pkg;