sig
  type t
  val zero : Reins.Types.Integral.t
  val one : Reins.Types.Integral.t
  val minus_one : Reins.Types.Integral.t
  val abs : Reins.Types.Integral.t -> Reins.Types.Integral.t
  val neg : Reins.Types.Integral.t -> Reins.Types.Integral.t
  val succ : Reins.Types.Integral.t -> Reins.Types.Integral.t
  val pred : Reins.Types.Integral.t -> Reins.Types.Integral.t
  val add :
    Reins.Types.Integral.t ->
    Reins.Types.Integral.t -> Reins.Types.Integral.t
  val sub :
    Reins.Types.Integral.t ->
    Reins.Types.Integral.t -> Reins.Types.Integral.t
  val mul :
    Reins.Types.Integral.t ->
    Reins.Types.Integral.t -> Reins.Types.Integral.t
  val div :
    Reins.Types.Integral.t ->
    Reins.Types.Integral.t -> Reins.Types.Integral.t
  val rem :
    Reins.Types.Integral.t ->
    Reins.Types.Integral.t -> Reins.Types.Integral.t
  val logand :
    Reins.Types.Integral.t ->
    Reins.Types.Integral.t -> Reins.Types.Integral.t
  val lognot : Reins.Types.Integral.t -> Reins.Types.Integral.t
  val logor :
    Reins.Types.Integral.t ->
    Reins.Types.Integral.t -> Reins.Types.Integral.t
  val logxor :
    Reins.Types.Integral.t ->
    Reins.Types.Integral.t -> Reins.Types.Integral.t
  val shift_left : Reins.Types.Integral.t -> int -> Reins.Types.Integral.t
  val shift_right : Reins.Types.Integral.t -> int -> Reins.Types.Integral.t
  val shift_right_logical :
    Reins.Types.Integral.t -> int -> Reins.Types.Integral.t
  val compare : Reins.Types.Integral.t -> Reins.Types.Integral.t -> int
  val of_int : int -> Reins.Types.Integral.t
  val to_int : Reins.Types.Integral.t -> int
  val of_float : float -> Reins.Types.Integral.t
  val to_float : Reins.Types.Integral.t -> float
  val to_string : Reins.Types.Integral.t -> string
  val of_string : string -> Reins.Types.Integral.t
end