sig
  type t
  val zero : BatNumber.NUMERIC_BASE.t
  val one : BatNumber.NUMERIC_BASE.t
  val neg : BatNumber.NUMERIC_BASE.t -> BatNumber.NUMERIC_BASE.t
  val succ : BatNumber.NUMERIC_BASE.t -> BatNumber.NUMERIC_BASE.t
  val pred : BatNumber.NUMERIC_BASE.t -> BatNumber.NUMERIC_BASE.t
  val abs : BatNumber.NUMERIC_BASE.t -> BatNumber.NUMERIC_BASE.t
  val add :
    BatNumber.NUMERIC_BASE.t ->
    BatNumber.NUMERIC_BASE.t -> BatNumber.NUMERIC_BASE.t
  val sub :
    BatNumber.NUMERIC_BASE.t ->
    BatNumber.NUMERIC_BASE.t -> BatNumber.NUMERIC_BASE.t
  val mul :
    BatNumber.NUMERIC_BASE.t ->
    BatNumber.NUMERIC_BASE.t -> BatNumber.NUMERIC_BASE.t
  val div :
    BatNumber.NUMERIC_BASE.t ->
    BatNumber.NUMERIC_BASE.t -> BatNumber.NUMERIC_BASE.t
  val modulo :
    BatNumber.NUMERIC_BASE.t ->
    BatNumber.NUMERIC_BASE.t -> BatNumber.NUMERIC_BASE.t
  val pow :
    BatNumber.NUMERIC_BASE.t ->
    BatNumber.NUMERIC_BASE.t -> BatNumber.NUMERIC_BASE.t
  val compare : BatNumber.NUMERIC_BASE.t -> BatNumber.NUMERIC_BASE.t -> int
  val of_int : int -> BatNumber.NUMERIC_BASE.t
  val to_int : BatNumber.NUMERIC_BASE.t -> int
  val of_string : string -> BatNumber.NUMERIC_BASE.t
  val to_string : BatNumber.NUMERIC_BASE.t -> string
  val of_float : float -> BatNumber.NUMERIC_BASE.t
  val to_float : BatNumber.NUMERIC_BASE.t -> float
end