sig
  module Outer :
    sig
      type t = int * int
      val to_string : int * int -> string
      val is_valid : int * int -> bool
      val repl_tag : string
    end
  type t = Tools.MakePrivate(Outer).t
  type outer_t = Outer.t
  val to_string : t -> string
  val print : Batteries.Format.formatter -> t -> unit
  val o : outer_t -> t
  val random : unit -> t
  val type_of : t -> int
  val code_of : t -> int
end