`sig type t = bytes external length : BatBytes.t -> int = "%string_length" external get : BatBytes.t -> int -> char = "%string_safe_get" external set : BatBytes.t -> int -> char -> unit = "%string_safe_set" external create : int -> BatBytes.t = "caml_create_string" val make : int -> char -> BatBytes.t val init : int -> (int -> char) -> BatBytes.t val empty : BatBytes.t val copy : BatBytes.t -> BatBytes.t val of_string : string -> BatBytes.t val to_string : BatBytes.t -> string val sub : BatBytes.t -> int -> int -> BatBytes.t val sub_string : BatBytes.t -> int -> int -> string val extend : BatBytes.t -> int -> int -> BatBytes.t val fill : BatBytes.t -> int -> int -> char -> unit val blit : BatBytes.t -> int -> BatBytes.t -> int -> int -> unit val blit_string : string -> int -> BatBytes.t -> int -> int -> unit val concat : BatBytes.t -> BatBytes.t list -> BatBytes.t val cat : BatBytes.t -> BatBytes.t -> BatBytes.t val iter : (char -> unit) -> BatBytes.t -> unit val iteri : (int -> char -> unit) -> BatBytes.t -> unit val map : (char -> char) -> BatBytes.t -> BatBytes.t val mapi : (int -> char -> char) -> BatBytes.t -> BatBytes.t val trim : BatBytes.t -> BatBytes.t val escaped : BatBytes.t -> BatBytes.t val index : BatBytes.t -> char -> int val rindex : BatBytes.t -> char -> int val index_from : BatBytes.t -> int -> char -> int val rindex_from : BatBytes.t -> int -> char -> int val contains : BatBytes.t -> char -> bool val contains_from : BatBytes.t -> int -> char -> bool val rcontains_from : BatBytes.t -> int -> char -> bool val uppercase : BatBytes.t -> BatBytes.t val lowercase : BatBytes.t -> BatBytes.t val capitalize : BatBytes.t -> BatBytes.t val uncapitalize : BatBytes.t -> BatBytes.t val uppercase_ascii : BatBytes.t -> BatBytes.t val lowercase_ascii : BatBytes.t -> BatBytes.t val capitalize_ascii : BatBytes.t -> BatBytes.t val uncapitalize_ascii : BatBytes.t -> BatBytes.t val compare : BatBytes.t -> BatBytes.t -> int val equal : BatBytes.t -> BatBytes.t -> bool val unsafe_to_string : BatBytes.t -> string val unsafe_of_string : string -> BatBytes.t external unsafe_get : BatBytes.t -> int -> char = "%string_unsafe_get" external unsafe_set : BatBytes.t -> int -> char -> unit = "%string_unsafe_set" external unsafe_blit : BatBytes.t -> int -> BatBytes.t -> int -> int -> unit = "caml_blit_string" [@@noalloc] external unsafe_fill : BatBytes.t -> int -> int -> char -> unit = "caml_fill_string" [@@noalloc] end`