sig
  val iter :
    ?pre:(Sig_pack.S.V.t -> unit) ->
    ?post:(Sig_pack.S.V.t -> unit) -> Sig_pack.S.t -> unit
  val prefix : (Sig_pack.S.V.t -> unit) -> Sig_pack.S.t -> unit
  val postfix : (Sig_pack.S.V.t -> unit) -> Sig_pack.S.t -> unit
  val fold : (Sig_pack.S.V.t -> '-> 'a) -> '-> Sig_pack.S.t -> 'a
  val iter_component :
    ?pre:(Sig_pack.S.V.t -> unit) ->
    ?post:(Sig_pack.S.V.t -> unit) -> Sig_pack.S.t -> Sig_pack.S.V.t -> unit
  val prefix_component :
    (Sig_pack.S.V.t -> unit) -> Sig_pack.S.t -> Sig_pack.S.V.t -> unit
  val postfix_component :
    (Sig_pack.S.V.t -> unit) -> Sig_pack.S.t -> Sig_pack.S.V.t -> unit
  val fold_component :
    (Sig_pack.S.V.t -> '-> 'a) ->
    '-> Sig_pack.S.t -> Sig_pack.S.V.t -> 'a
  val has_cycle : Sig_pack.S.t -> bool
end