sig   type node   type graph   module Service_graph :     sig       type t       module V :         sig           type t = node vertex           val compare : t -> t -> int           val hash : t -> int           val equal : t -> t -> bool           type label           val create : label -> t           val label : t -> label         end       type vertex = V.t       module E :         sig           type t           val compare : t -> t -> int           type vertex = vertex           val src : t -> vertex           val dst : t -> vertex           type label = edge           val create : vertex -> label -> vertex -> t           val label : t -> label         end       type edge = E.t       val is_directed : bool       val is_empty : t -> bool       val nb_vertex : t -> int       val nb_edges : t -> int       val out_degree : t -> vertex -> int       val in_degree : t -> vertex -> int       val mem_vertex : t -> vertex -> bool       val mem_edge : t -> vertex -> vertex -> bool       val mem_edge_e : t -> edge -> bool       val find_edge : t -> vertex -> vertex -> edge       val find_all_edges : t -> vertex -> vertex -> edge list       val succ : t -> vertex -> vertex list       val pred : t -> vertex -> vertex list       val succ_e : t -> vertex -> edge list       val pred_e : t -> vertex -> edge list       val iter_vertex : (vertex -> unit) -> t -> unit       val fold_vertex : (vertex -> '-> 'a) -> t -> '-> 'a       val iter_edges : (vertex -> vertex -> unit) -> t -> unit       val fold_edges : (vertex -> vertex -> '-> 'a) -> t -> '-> 'a       val iter_edges_e : (edge -> unit) -> t -> unit       val fold_edges_e : (edge -> '-> 'a) -> t -> '-> 'a       val map_vertex : (vertex -> vertex) -> t -> t       val iter_succ : (vertex -> unit) -> t -> vertex -> unit       val iter_pred : (vertex -> unit) -> t -> vertex -> unit       val fold_succ : (vertex -> '-> 'a) -> t -> vertex -> '-> 'a       val fold_pred : (vertex -> '-> 'a) -> t -> vertex -> '-> 'a       val iter_succ_e : (edge -> unit) -> t -> vertex -> unit       val fold_succ_e : (edge -> '-> 'a) -> t -> vertex -> '-> 'a       val iter_pred_e : (edge -> unit) -> t -> vertex -> unit       val fold_pred_e : (edge -> '-> 'a) -> t -> vertex -> '-> 'a       module Datatype :         sig           type t = t           val ty : t Type.t           val name : string           val descr : t Descr.t           val packed_descr : Structural_descr.pack           val reprs : t list           val equal : t -> t -> bool           val compare : t -> t -> int           val hash : t -> int           val pretty_code : Format.formatter -> t -> unit           val internal_pretty_code :             Type.precedence -> Format.formatter -> t -> unit           val pretty : Format.formatter -> t -> unit           val varname : t -> string           val mem_project : (Project_skeleton.t -> bool) -> t -> bool           val copy : t -> t         end     end   val compute :     Service_graph.S.graph ->     Datatype.String.Set.t -> Service_graph.S.Service_graph.t   val output_graph :     Pervasives.out_channel -> Service_graph.S.Service_graph.t -> unit   val entry_point : unit -> Service_graph.S.Service_graph.V.t option   module TP :     sig       type t = Service_graph.t       module V :         sig           type t = node vertex           val compare : t -> t -> int           val hash : t -> int           val equal : t -> t -> bool           type label           val create : label -> t           val label : t -> label         end       type vertex = V.t       module E :         sig           type t = Service_graph.E.t           val compare : t -> t -> int           type vertex = vertex           val src : t -> vertex           val dst : t -> vertex           type label           val create : vertex -> label -> vertex -> t           val label : t -> label         end       type edge = E.t       val is_directed : bool       val is_empty : t -> bool       val nb_vertex : t -> int       val nb_edges : t -> int       val out_degree : t -> vertex -> int       val in_degree : t -> vertex -> int       val mem_vertex : t -> vertex -> bool       val mem_edge : t -> vertex -> vertex -> bool       val mem_edge_e : t -> edge -> bool       val find_edge : t -> vertex -> vertex -> edge       val find_all_edges : t -> vertex -> vertex -> edge list       val succ : t -> vertex -> vertex list       val pred : t -> vertex -> vertex list       val succ_e : t -> vertex -> edge list       val pred_e : t -> vertex -> edge list       val iter_vertex : (vertex -> unit) -> t -> unit       val fold_vertex : (vertex -> '-> 'a) -> t -> '-> 'a       val iter_edges : (vertex -> vertex -> unit) -> t -> unit       val fold_edges : (vertex -> vertex -> '-> 'a) -> t -> '-> 'a       val iter_edges_e : (edge -> unit) -> t -> unit       val fold_edges_e : (edge -> '-> 'a) -> t -> '-> 'a       val map_vertex : (vertex -> vertex) -> t -> t       val iter_succ : (vertex -> unit) -> t -> vertex -> unit       val iter_pred : (vertex -> unit) -> t -> vertex -> unit       val fold_succ : (vertex -> '-> 'a) -> t -> vertex -> '-> 'a       val fold_pred : (vertex -> '-> 'a) -> t -> vertex -> '-> 'a       val iter_succ_e : (edge -> unit) -> t -> vertex -> unit       val fold_succ_e : (edge -> '-> 'a) -> t -> vertex -> '-> 'a       val iter_pred_e : (edge -> unit) -> t -> vertex -> unit       val fold_pred_e : (edge -> '-> 'a) -> t -> vertex -> '-> 'a       val graph_attributes : t -> Graph.Graphviz.DotAttributes.graph list       val default_vertex_attributes :         t -> Graph.Graphviz.DotAttributes.vertex list       val vertex_name : V.t -> string       val vertex_attributes : V.t -> Graph.Graphviz.DotAttributes.vertex list       val default_edge_attributes :         t -> Graph.Graphviz.DotAttributes.edge list       val edge_attributes : E.t -> Graph.Graphviz.DotAttributes.edge list       val get_subgraph : V.t -> Graph.Graphviz.DotAttributes.subgraph option     end end