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