sig
  module Inner :
    sig
      type t = int
      val to_string : int -> string
      val is_valid : int -> bool
      val repl_tag : string
    end
  type t = Tools.MakePrivate(Inner).t
  type outer_t = Inner.t
  val to_string : t -> string
  val print : Batteries.Format.formatter -> t -> unit
  val o : outer_t -> t
  val discover : t
  val offer : t
  val request : t
  val decline : t
  val ack : t
  val nack : t
  val release : t
  val inform : t
  val random : unit -> int
end