1package Freezing1_Pack is 2 type T_Factory is abstract tagged private; 3 type I_Interface_Collection is interface; 4 5 Factory : constant T_Factory; 6 7 function Create_Collection 8 (Factory : in T_Factory) return I_Interface_Collection'Class; 9 10 type Implem is new I_Interface_Collection with null record; 11 12private 13 type T_Factory is tagged null record; 14 15 Factory : constant T_Factory := T_Factory'(null record); 16end Freezing1_Pack; 17