include Nat
external create_nat : int ‑> nat = "create_nat"
val make_nat : int ‑> nat
external set_to_zero_nat : nat ‑> int ‑> int ‑> unit = "set_to_zero_nat"
external set_digit_nat : nat ‑> int ‑> int ‑> unit = "set_digit_nat"
external nth_digit_nat : nat ‑> int ‑> int = "nth_digit_nat"
external set_digit_nat_native : nat ‑> int ‑> nativeint ‑> unit = "set_digit_nat_native"
external nth_digit_nat_native : nat ‑> int ‑> nativeint = "nth_digit_nat_native"
val length_nat : nat ‑> int
external num_digits_nat : nat ‑> int ‑> int ‑> int = "num_digits_nat"
external num_leading_zero_bits_in_digit : nat ‑> int ‑> int = "num_leading_zero_bits_in_digit"
external is_digit_int : nat ‑> int ‑> bool = "is_digit_int"
external is_digit_zero : nat ‑> int ‑> bool = "is_digit_zero"
external is_digit_normalized : nat ‑> int ‑> bool = "is_digit_normalized"
external is_digit_odd : nat ‑> int ‑> bool = "is_digit_odd"
val is_zero_nat : nat ‑> int ‑> int ‑> bool
val is_nat_int : nat ‑> int ‑> int ‑> bool
val int_of_nat : nat ‑> int
val nat_of_int : int ‑> nat
external incr_nat : nat ‑> int ‑> int ‑> int ‑> int = "incr_nat"
external complement_nat : nat ‑> int ‑> int ‑> unit = "complement_nat"
external decr_nat : nat ‑> int ‑> int ‑> int ‑> int = "decr_nat"
val string_of_nat : nat ‑> string
val nat_of_string : string ‑> nat
val sys_nat_of_string : int ‑> string ‑> int ‑> int ‑> nat
val float_of_nat : nat ‑> float
val make_power_base : int ‑> nat ‑> int * int
val power_base_int : int ‑> int ‑> nat
val sexp_of_nat : Nat.nat ‑> Sexplib.Sexp.t
val nat_of_sexp : Sexplib.Sexp.t ‑> Nat.nat