sig
  type t
  val pp_print_numeral : Format.formatter -> Numeral.t -> unit
  val pp_print_numeral_sexpr : Format.formatter -> Numeral.t -> unit
  val string_of_numeral : Numeral.t -> string
  val of_int : int -> Numeral.t
  val of_big_int : Big_int.big_int -> Numeral.t
  val of_string : string -> Numeral.t
  val to_int : Numeral.t -> int
  val to_big_int : Numeral.t -> Big_int.big_int
  val zero : Numeral.t
  val one : Numeral.t
  val succ : Numeral.t -> Numeral.t
  val pred : Numeral.t -> Numeral.t
  val incr : Numeral.t Pervasives.ref -> unit
  val decr : Numeral.t Pervasives.ref -> unit
  val abs : Numeral.t -> Numeral.t
  val neg : Numeral.t -> Numeral.t
  val add : Numeral.t -> Numeral.t -> Numeral.t
  val sub : Numeral.t -> Numeral.t -> Numeral.t
  val mult : Numeral.t -> Numeral.t -> Numeral.t
  val div : Numeral.t -> Numeral.t -> Numeral.t
  val rem : Numeral.t -> Numeral.t -> Numeral.t
  val min : Numeral.t -> Numeral.t -> Numeral.t
  val max : Numeral.t -> Numeral.t -> Numeral.t
  val ( ~- ) : Numeral.t -> Numeral.t
  val ( + ) : Numeral.t -> Numeral.t -> Numeral.t
  val ( - ) : Numeral.t -> Numeral.t -> Numeral.t
  val ( * ) : Numeral.t -> Numeral.t -> Numeral.t
  val ( / ) : Numeral.t -> Numeral.t -> Numeral.t
  val ( mod ) : Numeral.t -> Numeral.t -> Numeral.t
  val equal : Numeral.t -> Numeral.t -> bool
  val compare : Numeral.t -> Numeral.t -> int
  val leq : Numeral.t -> Numeral.t -> bool
  val lt : Numeral.t -> Numeral.t -> bool
  val geq : Numeral.t -> Numeral.t -> bool
  val gt : Numeral.t -> Numeral.t -> bool
  val ( = ) : Numeral.t -> Numeral.t -> bool
  val ( <> ) : Numeral.t -> Numeral.t -> bool
  val ( <= ) : Numeral.t -> Numeral.t -> bool
  val ( < ) : Numeral.t -> Numeral.t -> bool
  val ( >= ) : Numeral.t -> Numeral.t -> bool
  val ( > ) : Numeral.t -> Numeral.t -> bool
end