functor
  (Node : sig
            type t
            val equal : Wto.Make.t -> Wto.Make.t -> bool
            val hash : Wto.Make.t -> int
            val pretty : Stdlib.Format.formatter -> Wto.Make.t -> unit
          end->
  sig
    type pref = Node.t -> Node.t -> int
    val partition :
      ?pref:Wto.Make.pref ->
      init:Node.t -> succs:(Node.t -> Node.t list) -> Node.t Wto.partition
    val pretty_partition :
      Stdlib.Format.formatter -> Node.t Wto.partition -> unit
    val pretty_component :
      Stdlib.Format.formatter -> Node.t Wto.component -> unit
    val equal_component :
      Node.t Wto.component -> Node.t Wto.component -> bool
    val equal_partition :
      Node.t Wto.partition -> Node.t Wto.partition -> bool
  end