generic type User_T is private; package Deferred_Const4_Pkg is type T is private; Null_T : constant T; private type T (Valid : Boolean := False) is record case Valid is when True => Value : User_T; when False => null; end case; end record; Null_T : constant T := (Valid => False); end Deferred_Const4_Pkg;