sig
  type int8
  type int16
  type int24
  type int40
  type int48
  type int56
  type int128
  type uint8
  type uint16
  type uint24
  type uint32
  type uint40
  type uint48
  type uint56
  type uint64
  type uint128
  module type Int =
    sig
      type t
      val zero : Stdint.Int.t
      val one : Stdint.Int.t
      val max_int : Stdint.Int.t
      val min_int : Stdint.Int.t
      val bits : int
      val ( + ) : Stdint.Int.t -> Stdint.Int.t -> Stdint.Int.t
      val ( - ) : Stdint.Int.t -> Stdint.Int.t -> Stdint.Int.t
      val ( * ) : Stdint.Int.t -> Stdint.Int.t -> Stdint.Int.t
      val ( / ) : Stdint.Int.t -> Stdint.Int.t -> Stdint.Int.t
      val add : Stdint.Int.t -> Stdint.Int.t -> Stdint.Int.t
      val sub : Stdint.Int.t -> Stdint.Int.t -> Stdint.Int.t
      val mul : Stdint.Int.t -> Stdint.Int.t -> Stdint.Int.t
      val div : Stdint.Int.t -> Stdint.Int.t -> Stdint.Int.t
      val rem : Stdint.Int.t -> Stdint.Int.t -> Stdint.Int.t
      val succ : Stdint.Int.t -> Stdint.Int.t
      val pred : Stdint.Int.t -> Stdint.Int.t
      val abs : Stdint.Int.t -> Stdint.Int.t
      val neg : Stdint.Int.t -> Stdint.Int.t
      val logand : Stdint.Int.t -> Stdint.Int.t -> Stdint.Int.t
      val logor : Stdint.Int.t -> Stdint.Int.t -> Stdint.Int.t
      val logxor : Stdint.Int.t -> Stdint.Int.t -> Stdint.Int.t
      val lognot : Stdint.Int.t -> Stdint.Int.t
      val shift_left : Stdint.Int.t -> int -> Stdint.Int.t
      val shift_right : Stdint.Int.t -> int -> Stdint.Int.t
      val shift_right_logical : Stdint.Int.t -> int -> Stdint.Int.t
      val of_int : int -> Stdint.Int.t
      val to_int : Stdint.Int.t -> int
      val of_float : float -> Stdint.Int.t
      val to_float : Stdint.Int.t -> float
      val of_nativeint : nativeint -> Stdint.Int.t
      val to_nativeint : Stdint.Int.t -> nativeint
      val of_int8 : Stdint.int8 -> Stdint.Int.t
      val to_int8 : Stdint.Int.t -> Stdint.int8
      val of_int16 : Stdint.int16 -> Stdint.Int.t
      val to_int16 : Stdint.Int.t -> Stdint.int16
      val of_int24 : Stdint.int24 -> Stdint.Int.t
      val to_int24 : Stdint.Int.t -> Stdint.int24
      val of_int32 : int32 -> Stdint.Int.t
      val to_int32 : Stdint.Int.t -> int32
      val of_int40 : Stdint.int40 -> Stdint.Int.t
      val to_int40 : Stdint.Int.t -> Stdint.int40
      val of_int48 : Stdint.int48 -> Stdint.Int.t
      val to_int48 : Stdint.Int.t -> Stdint.int48
      val of_int56 : Stdint.int56 -> Stdint.Int.t
      val to_int56 : Stdint.Int.t -> Stdint.int56
      val of_int64 : int64 -> Stdint.Int.t
      val to_int64 : Stdint.Int.t -> int64
      val of_int128 : Stdint.int128 -> Stdint.Int.t
      val to_int128 : Stdint.Int.t -> Stdint.int128
      val of_uint8 : Stdint.uint8 -> Stdint.Int.t
      val to_uint8 : Stdint.Int.t -> Stdint.uint8
      val of_uint16 : Stdint.uint16 -> Stdint.Int.t
      val to_uint16 : Stdint.Int.t -> Stdint.uint16
      val of_uint24 : Stdint.uint24 -> Stdint.Int.t
      val to_uint24 : Stdint.Int.t -> Stdint.uint24
      val of_uint32 : Stdint.uint32 -> Stdint.Int.t
      val to_uint32 : Stdint.Int.t -> Stdint.uint32
      val of_uint40 : Stdint.uint40 -> Stdint.Int.t
      val to_uint40 : Stdint.Int.t -> Stdint.uint40
      val of_uint48 : Stdint.uint48 -> Stdint.Int.t
      val to_uint48 : Stdint.Int.t -> Stdint.uint48
      val of_uint56 : Stdint.uint56 -> Stdint.Int.t
      val to_uint56 : Stdint.Int.t -> Stdint.uint56
      val of_uint64 : Stdint.uint64 -> Stdint.Int.t
      val to_uint64 : Stdint.Int.t -> Stdint.uint64
      val of_uint128 : Stdint.uint128 -> Stdint.Int.t
      val to_uint128 : Stdint.Int.t -> Stdint.uint128
      val of_string : string -> Stdint.Int.t
      val to_string : Stdint.Int.t -> string
      val to_string_bin : Stdint.Int.t -> string
      val to_string_oct : Stdint.Int.t -> string
      val to_string_hex : Stdint.Int.t -> string
      val printer : Format.formatter -> Stdint.Int.t -> unit
      val printer_bin : Format.formatter -> Stdint.Int.t -> unit
      val printer_oct : Format.formatter -> Stdint.Int.t -> unit
      val printer_hex : Format.formatter -> Stdint.Int.t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> Stdint.Int.t
      val of_bytes_little_endian : Bytes.t -> int -> Stdint.Int.t
      val to_bytes_big_endian : Stdint.Int.t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : Stdint.Int.t -> Bytes.t -> int -> unit
      val compare : Stdint.Int.t -> Stdint.Int.t -> int
    end
  module Int8 :
    sig
      type t = int8
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Int16 :
    sig
      type t = int16
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Int24 :
    sig
      type t = int24
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Int32 :
    sig
      type t = int32
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Int40 :
    sig
      type t = int40
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Int48 :
    sig
      type t = int48
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Int56 :
    sig
      type t = int56
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Int64 :
    sig
      type t = int64
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Int128 :
    sig
      type t = int128
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Uint8 :
    sig
      type t = uint8
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Uint16 :
    sig
      type t = uint16
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Uint24 :
    sig
      type t = uint24
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Uint32 :
    sig
      type t = uint32
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Uint40 :
    sig
      type t = uint40
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Uint48 :
    sig
      type t = uint48
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Uint56 :
    sig
      type t = uint56
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Uint64 :
    sig
      type t = uint64
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
  module Uint128 :
    sig
      type t = uint128
      val zero : t
      val one : t
      val max_int : t
      val min_int : t
      val bits : int
      val ( + ) : t -> t -> t
      val ( - ) : t -> t -> t
      val ( * ) : t -> t -> t
      val ( / ) : t -> 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 succ : t -> t
      val pred : t -> t
      val abs : t -> t
      val neg : t -> t
      val logand : t -> t -> t
      val logor : t -> t -> t
      val logxor : t -> t -> t
      val lognot : t -> t
      val shift_left : t -> int -> t
      val shift_right : t -> int -> t
      val shift_right_logical : t -> int -> t
      val of_int : int -> t
      val to_int : t -> int
      val of_float : float -> t
      val to_float : t -> float
      val of_nativeint : nativeint -> t
      val to_nativeint : t -> nativeint
      val of_int8 : int8 -> t
      val to_int8 : t -> int8
      val of_int16 : int16 -> t
      val to_int16 : t -> int16
      val of_int24 : int24 -> t
      val to_int24 : t -> int24
      val of_int32 : int32 -> t
      val to_int32 : t -> int32
      val of_int40 : int40 -> t
      val to_int40 : t -> int40
      val of_int48 : int48 -> t
      val to_int48 : t -> int48
      val of_int56 : int56 -> t
      val to_int56 : t -> int56
      val of_int64 : int64 -> t
      val to_int64 : t -> int64
      val of_int128 : int128 -> t
      val to_int128 : t -> int128
      val of_uint8 : uint8 -> t
      val to_uint8 : t -> uint8
      val of_uint16 : uint16 -> t
      val to_uint16 : t -> uint16
      val of_uint24 : uint24 -> t
      val to_uint24 : t -> uint24
      val of_uint32 : uint32 -> t
      val to_uint32 : t -> uint32
      val of_uint40 : uint40 -> t
      val to_uint40 : t -> uint40
      val of_uint48 : uint48 -> t
      val to_uint48 : t -> uint48
      val of_uint56 : uint56 -> t
      val to_uint56 : t -> uint56
      val of_uint64 : uint64 -> t
      val to_uint64 : t -> uint64
      val of_uint128 : uint128 -> t
      val to_uint128 : t -> uint128
      val of_string : string -> t
      val to_string : t -> string
      val to_string_bin : t -> string
      val to_string_oct : t -> string
      val to_string_hex : t -> string
      val printer : Format.formatter -> t -> unit
      val printer_bin : Format.formatter -> t -> unit
      val printer_oct : Format.formatter -> t -> unit
      val printer_hex : Format.formatter -> t -> unit
      val of_bytes_big_endian : Bytes.t -> int -> t
      val of_bytes_little_endian : Bytes.t -> int -> t
      val to_bytes_big_endian : t -> Bytes.t -> int -> unit
      val to_bytes_little_endian : t -> Bytes.t -> int -> unit
      val compare : t -> t -> int
    end
end