sig
  type 'n component = Component of 'n * 'Wto.partition | Node of 'n
  and 'n partition = 'Wto.component list
  module Make :
    functor
      (Node : sig
                type t
                val equal : Wto.Make.t -> Wto.Make.t -> bool
                val hash : Wto.Make.t -> int
                val pretty : Format.formatter -> Wto.Make.t -> unit
              end->
      sig
        val partition :
          init:Node.t ->
          succs:(Node.t -> Node.t list) -> Node.t Wto.partition
        val pretty_partition :
          Format.formatter -> Node.t Wto.partition -> unit
        val pretty_component :
          Format.formatter -> Node.t Wto.component -> unit
      end
end