sig
  type b_idx
  val of_int_unsafe : int -> BatUTF8.Byte.b_idx
  val to_int : BatUTF8.Byte.b_idx -> int
  val next : BatUTF8.t -> BatUTF8.Byte.b_idx -> BatUTF8.Byte.b_idx
  val prev : BatUTF8.t -> BatUTF8.Byte.b_idx -> BatUTF8.Byte.b_idx
  val of_char_idx : BatUTF8.t -> BatUTF8.char_idx -> BatUTF8.Byte.b_idx
  val at_end : BatUTF8.t -> BatUTF8.Byte.b_idx -> bool
  val out_of_range : BatUTF8.t -> BatUTF8.Byte.b_idx -> bool
  val first : BatUTF8.Byte.b_idx
  val last : BatUTF8.t -> BatUTF8.Byte.b_idx
  val move : BatUTF8.t -> BatUTF8.Byte.b_idx -> int -> BatUTF8.Byte.b_idx
end