sig
  val is_tvertex :
    ('vertex, 'hedge, 'abstract, 'arc) FixpointType.graph ->
    'vertex array -> bool
  val treach_of_tvertex :
    descend:bool ->
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.graph ->
    'vertex array -> 'attr array
  val update_workingsets :
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.graph ->
    hedge:bool -> 'vertex -> unit
  val init :
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.manager ->
    ('vertex, 'hedge, 'e, 'f, 'g) PSHGraph.t ->
    'vertex PSette.t -> ('vertex, 'hedge, 'attr, 'arc) FixpointType.graph
  val accumulate_vertex :
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.manager ->
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.graph ->
    ('vertex, 'hedge) FixpointType.strategy_vertex ->
    'attr FixpointType.attr -> bool
  val propagate_vertex :
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.manager ->
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.graph ->
    descend:bool ->
    ('vertex, 'hedge) FixpointType.strategy_vertex ->
    'attr FixpointType.attr -> bool
  val process_vertex :
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.manager ->
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.graph ->
    widening:bool -> ('vertex, 'hedge) FixpointType.strategy_vertex -> bool
  val process_strategy :
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.manager ->
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.graph ->
    depth:int -> ('vertex, 'hedge) FixpointType.strategy -> bool
  val descend_strategy :
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.manager ->
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.graph ->
    ('vertex, 'hedge) FixpointType.strategy -> bool
  val descend :
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.manager ->
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.graph ->
    ('vertex, 'hedge) FixpointType.strategy -> bool
  val process_toplevel_strategy :
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.manager ->
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.graph ->
    ('vertex, 'hedge) FixpointType.strategy -> bool * bool
  val output_of_graph :
    ('vertex, 'hedge, 'abstract, 'arc) FixpointType.graph ->
    ('vertex, 'hedge, 'abstract, 'arc) FixpointType.output
  val analysis :
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.manager ->
    ('vertex, 'hedge, 'e, 'f, 'g) PSHGraph.t ->
    'vertex PSette.t ->
    ('vertex, 'hedge) FixpointType.strategy ->
    ('vertex, 'hedge, 'attr, 'arc) FixpointType.output
end