sig
  type t = Integer.t
  val zero : t
  val one : t
  val minus_one : t
  val succ : t -> t
  val pred : t -> t
  val neg : t -> t
  val add : t -> t -> t
  val sub : t -> t -> t
  val mul : t -> t -> t
  val div : t -> t -> t
  val rem : t -> t -> t
  val div_rem : t -> t -> t * t
  val equal : t -> t -> bool
  val leq : t -> t -> bool
  val lt : t -> t -> bool
  val of_int : int -> t
  val of_string : string -> t
  val to_string : t -> string
  val hash : t -> int
  val compare : t -> t -> int
end