sig
  type t
  val gen : ?size:int -> Random.State.t -> t
  val to_string : t -> string
  val compare : t -> t -> int
end