sig   module Id : Identifiable.S   type directed_graph = Id.Set.t Id.Map.t   type component = Has_loop of Id.t list | No_loop of Id.t   val connected_components_sorted_from_roots_to_leaf :     Strongly_connected_components.S.directed_graph ->     Strongly_connected_components.S.component array   val component_graph :     Strongly_connected_components.S.directed_graph ->     (Strongly_connected_components.S.component * int list) array end