with Ada.Containers.Vectors; generic type Vertex_Key is private; package Debug4_Pkg is type Vertex_Id is new Natural; subtype Valid_Vertex_Id is Vertex_Id range 1 .. Vertex_Id'Last; package VIL is new Ada.Containers.Vectors (Index_Type => Positive, Element_Type => Valid_Vertex_Id); use VIL; subtype Vertex_Index_List is VIL.Vector; package VL is new Ada.Containers.Vectors (Index_Type => Valid_Vertex_Id, Element_Type => Vertex_Key); use VL; subtype Vertex_List is VL.Vector; type T is tagged record Vertices : Vertex_List; end record; function Dominator_Tree (G : T'Class) return T; end Debug4_Pkg;