sig   type ('v, 'e) path = ('v * 'e * 'v) list   val generic :     ?tbl:'CCGraph.set ->     bag:'CCGraph.bag ->     graph:('v, 'e) CCGraph.t ->     'CCGraph.sequence -> 'CCGraph.sequence_once   val generic_tag :     tags:'CCGraph.tag_set ->     bag:'CCGraph.bag ->     graph:('v, 'e) CCGraph.t ->     'CCGraph.sequence -> 'CCGraph.sequence_once   val dfs :     ?tbl:'CCGraph.set ->     graph:('v, 'e) CCGraph.t ->     'CCGraph.sequence -> 'CCGraph.sequence_once   val dfs_tag :     tags:'CCGraph.tag_set ->     graph:('v, 'e) CCGraph.t ->     'CCGraph.sequence -> 'CCGraph.sequence_once   val bfs :     ?tbl:'CCGraph.set ->     graph:('v, 'e) CCGraph.t ->     'CCGraph.sequence -> 'CCGraph.sequence_once   val bfs_tag :     tags:'CCGraph.tag_set ->     graph:('v, 'e) CCGraph.t ->     'CCGraph.sequence -> 'CCGraph.sequence_once   val dijkstra :     ?tbl:'CCGraph.set ->     ?dist:('-> int) ->     graph:('v, 'e) CCGraph.t ->     'CCGraph.sequence ->     ('v * int * ('v, 'e) CCGraph.Traverse.path) CCGraph.sequence_once   val dijkstra_tag :     ?dist:('-> int) ->     tags:'CCGraph.tag_set ->     graph:('v, 'e) CCGraph.t ->     'CCGraph.sequence ->     ('v * int * ('v, 'e) CCGraph.Traverse.path) CCGraph.sequence_once   module Event :     sig       type edge_kind = [ `Back | `Cross | `Forward ]       type ('v, 'e) t =           [ `Edge of 'v * 'e * 'v * CCGraph.Traverse.Event.edge_kind           | `Enter of 'v * int * ('v, 'e) CCGraph.Traverse.path           | `Exit of 'v ]       val get_vertex :         ('v, 'e) CCGraph.Traverse.Event.t -> ('v * [ `Enter | `Exit ]) option       val get_enter : ('v, 'e) CCGraph.Traverse.Event.t -> 'v option       val get_exit : ('v, 'e) CCGraph.Traverse.Event.t -> 'v option       val get_edge :         ('v, 'e) CCGraph.Traverse.Event.t -> ('v * 'e * 'v) option       val get_edge_kind :         ('v, 'e) CCGraph.Traverse.Event.t ->         ('v * 'e * 'v * CCGraph.Traverse.Event.edge_kind) option       val dfs :         ?tbl:'CCGraph.set ->         ?eq:('-> '-> bool) ->         graph:('v, 'e) CCGraph.graph ->         'CCGraph.sequence ->         ('v, 'e) CCGraph.Traverse.Event.t CCGraph.sequence_once       val dfs_tag :         ?eq:('-> '-> bool) ->         tags:'CCGraph.tag_set ->         graph:('v, 'e) CCGraph.graph ->         'CCGraph.sequence ->         ('v, 'e) CCGraph.Traverse.Event.t CCGraph.sequence_once     end end