sig
  type t = string
  val zero : Newspeak.Nat.t
  val one : Newspeak.Nat.t
  val of_string : string -> Newspeak.Nat.t
  val of_int : int -> Newspeak.Nat.t
  val of_big_int : Big_int.big_int -> Newspeak.Nat.t
  val to_big_int : Newspeak.Nat.t -> Big_int.big_int
  val add : Newspeak.Nat.t -> Newspeak.Nat.t -> Newspeak.Nat.t
  val mul : Newspeak.Nat.t -> Newspeak.Nat.t -> Newspeak.Nat.t
  val sub : Newspeak.Nat.t -> Newspeak.Nat.t -> Newspeak.Nat.t
  val div : Newspeak.Nat.t -> Newspeak.Nat.t -> Newspeak.Nat.t
  val neg : Newspeak.Nat.t -> Newspeak.Nat.t
  val add_int : int -> Newspeak.Nat.t -> Newspeak.Nat.t
  val mul_int : int -> Newspeak.Nat.t -> Newspeak.Nat.t
  val compare : Newspeak.Nat.t -> Newspeak.Nat.t -> int
end