sig
  val attrvertex :
    ('a, 'b) SHGraph.compare ->
    ('a, 'c, 'd, 'e, 'f) SHGraph.graph -> '-> 'd
  val attrhedge :
    ('a, 'b) SHGraph.compare ->
    ('c, 'b, 'd, 'e, 'f) SHGraph.graph -> '-> 'e
  val is_vertex :
    ('a, 'b) SHGraph.compare ->
    ('a, 'c, 'd, 'e, 'f) SHGraph.graph -> '-> bool
  val is_hedge :
    ('a, 'b) SHGraph.compare ->
    ('c, 'b, 'd, 'e, 'f) SHGraph.graph -> '-> bool
  val succhedge :
    ('a, 'b) SHGraph.compare ->
    ('a, 'c, 'd, 'e, 'f) SHGraph.graph -> '-> 'Sette.t
  val predhedge :
    ('a, 'b) SHGraph.compare ->
    ('a, 'c, 'd, 'e, 'f) SHGraph.graph -> '-> 'Sette.t
  val succvertex :
    ('a, 'b) SHGraph.compare ->
    ('c, 'b, 'd, 'e, 'f) SHGraph.graph -> '-> 'c array
  val predvertex :
    ('a, 'b) SHGraph.compare ->
    ('c, 'b, 'd, 'e, 'f) SHGraph.graph -> '-> 'c array
  val succ_vertex :
    ('a, 'b) SHGraph.compare ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.graph -> '-> 'Sette.t
  val pred_vertex :
    ('a, 'b) SHGraph.compare ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.graph -> '-> 'Sette.t
  val add_vertex :
    ('a, 'b) SHGraph.compare ->
    ('a, 'c, 'd, 'e, 'f) SHGraph.graph -> '-> '-> unit
  val add_hedge :
    ('a, 'b) SHGraph.compare ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.graph ->
    '-> '-> pred:'a array -> succ:'a array -> unit
  val replace_attrvertex :
    ('a, 'b) SHGraph.compare ->
    ('a, 'c, 'd, 'e, 'f) SHGraph.graph -> '-> '-> unit
  val replace_attrhedge :
    ('a, 'b) SHGraph.compare ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.graph -> '-> '-> unit
  val remove_hedge :
    ('a, 'b) SHGraph.compare ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.graph -> '-> unit
  val remove_vertex :
    ('a, 'b) SHGraph.compare ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.graph -> '-> unit
  val topological_sort :
    ('a, 'b) SHGraph.compare ->
    ?priority:'SHGraph.priority ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.t -> '-> 'a list
  val topological_sort_multi :
    ('a, 'b) SHGraph.compare ->
    '->
    '->
    ?priority:'SHGraph.priority ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.t -> 'Sette.t -> 'a list
  val reachable :
    ('a, 'b) SHGraph.compare ->
    ?filter:('-> bool) ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.t -> '-> 'Sette.t * 'Sette.t
  val reachable_multi :
    ('a, 'b) SHGraph.compare ->
    '->
    '->
    ?filter:('-> bool) ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.t -> 'Sette.t -> 'Sette.t * 'Sette.t
  val cfc :
    ('a, 'b) SHGraph.compare ->
    ?priority:'SHGraph.priority ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.graph -> '-> 'a list list
  val cfc_multi :
    ('a, 'b) SHGraph.compare ->
    ?priority:'SHGraph.priority ->
    '->
    '-> ('a, 'b, 'c, 'd, 'e) SHGraph.graph -> 'Sette.t -> 'a list list
  val scfc :
    ('a, 'b) SHGraph.compare ->
    ?priority:'SHGraph.priority ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.graph -> '-> (unit, 'a) Ilist.t
  val scfc_multi :
    ('a, 'b) SHGraph.compare ->
    '->
    '->
    ?priority:'SHGraph.priority ->
    ('a, 'b, 'c, 'd, 'e) SHGraph.graph -> 'Sette.t -> (unit, 'a) Ilist.t
  val print :
    ('a, 'b) SHGraph.compare ->
    (Format.formatter -> '-> unit) ->
    (Format.formatter -> '-> unit) ->
    (Format.formatter -> '-> unit) ->
    (Format.formatter -> '-> unit) ->
    (Format.formatter -> '-> unit) ->
    Format.formatter -> ('a, 'b, 'c, 'd, 'e) SHGraph.graph -> unit
  val min :
    ('a, 'b) SHGraph.compare ->
    ('a, 'c, 'd, 'e, 'f) SHGraph.graph -> 'Sette.t
  val max :
    ('a, 'b) SHGraph.compare ->
    ('a, 'c, 'd, 'e, 'f) SHGraph.graph -> 'Sette.t
end