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