sig
  type t = int
  val of_native_char : char -> t option
  val of_int : int -> t option
  val to_int : t -> int
  val size : t -> int
  val write_to_native_bytes :
    t -> buf:Bytes.t -> index:int -> (int, [> `out_of_bounds ]) Api.result
  val to_native_string : t -> String.t
  val read_from_native_string : buf:String.t -> index:int -> (t * int) option
  val to_string_hum : t -> String.t
  val compare : t -> t -> int
  val is_whitespace : t -> bool
end