sig   type t   exception Out_of_bounds   val max_length : int   val empty : BatText.t   val of_latin1 : string -> BatText.t   val of_string : string -> BatText.t   val to_string : BatText.t -> string   val of_uchar : BatUChar.t -> BatText.t   val of_char : char -> BatText.t   val make : int -> BatUChar.t -> BatText.t   val join : BatText.t -> BatText.t list -> BatText.t   val explode : BatText.t -> BatUChar.t list   val implode : BatUChar.t list -> BatText.t   val is_empty : BatText.t -> bool   val length : BatText.t -> int   val height : BatText.t -> int   val balance : BatText.t -> BatText.t   val append : BatText.t -> BatText.t -> BatText.t   val ( ^^^ ) : BatText.t -> BatText.t -> BatText.t   val append_char : BatUChar.t -> BatText.t -> BatText.t   val prepend_char : BatUChar.t -> BatText.t -> BatText.t   val get : BatText.t -> int -> BatUChar.t   val set : BatText.t -> int -> BatUChar.t -> BatText.t   val sub : BatText.t -> int -> int -> BatText.t   val insert : int -> BatText.t -> BatText.t -> BatText.t   val remove : int -> int -> BatText.t -> BatText.t   val iter : (BatUChar.t -> unit) -> BatText.t -> unit   val iteri : ?base:int -> (int -> BatUChar.t -> unit) -> BatText.t -> unit   val range_iter : (BatUChar.t -> unit) -> int -> int -> BatText.t -> unit   val range_iteri :     (int -> BatUChar.t -> unit) ->     ?base:int -> int -> int -> BatText.t -> unit   val fold : ('-> BatUChar.t -> 'a) -> '-> BatText.t -> 'a   val init : int -> (int -> BatUChar.t) -> BatText.t   val map : (BatUChar.t -> BatUChar.t) -> BatText.t -> BatText.t   val filter_map :     (BatUChar.t -> BatUChar.t option) -> BatText.t -> BatText.t   val filter : (BatUChar.t -> bool) -> BatText.t -> BatText.t   val enum : BatText.t -> BatUChar.t BatEnum.t   val backwards : BatText.t -> BatUChar.t BatEnum.t   val of_enum : BatUChar.t BatEnum.t -> BatText.t   val index : BatText.t -> BatUChar.t -> int   val index_from : BatText.t -> int -> BatUChar.t -> int   val rindex : BatText.t -> BatUChar.t -> int   val rindex_from : BatText.t -> int -> BatUChar.t -> int   val contains : BatText.t -> BatUChar.t -> bool   val contains_from : BatText.t -> int -> BatUChar.t -> bool   val rcontains_from : BatText.t -> int -> BatUChar.t -> bool   val find : BatText.t -> BatText.t -> int   val find_from : BatText.t -> int -> BatText.t -> int   val rfind : BatText.t -> BatText.t -> int   val rfind_from : BatText.t -> int -> BatText.t -> int   val starts_with : BatText.t -> BatText.t -> bool   val ends_with : BatText.t -> BatText.t -> bool   val exists : BatText.t -> BatText.t -> bool   val left : BatText.t -> int -> BatText.t   val right : BatText.t -> int -> BatText.t   val head : BatText.t -> int -> BatText.t   val tail : BatText.t -> int -> BatText.t   val strip : ?chars:BatUChar.t list -> BatText.t -> BatText.t   val lchop : BatText.t -> BatText.t   val rchop : BatText.t -> BatText.t   val slice : ?first:int -> ?last:int -> BatText.t -> BatText.t   val splice : BatText.t -> int -> int -> BatText.t -> BatText.t   val fill : BatText.t -> int -> int -> BatUChar.t -> BatText.t   val blit : BatText.t -> int -> BatText.t -> int -> int -> BatText.t   val concat : BatText.t -> BatText.t list -> BatText.t   val replace :     str:BatText.t -> sub:BatText.t -> by:BatText.t -> bool * BatText.t   val split : BatText.t -> BatText.t -> BatText.t * BatText.t   val rsplit : BatText.t -> BatText.t -> BatText.t * BatText.t   val nsplit : BatText.t -> BatText.t -> BatText.t list   val compare : BatText.t -> BatText.t -> int   val equal : BatText.t -> BatText.t -> bool   val print : (BatText.t, 'a) BatIO.printer   val read_char : BatIO.input -> BatUChar.t   val read_text : BatIO.input -> int -> BatText.t   val read_line : BatIO.input -> BatText.t   val read_all : BatIO.input -> BatText.t   val write_char : (BatUChar.t, 'a) BatIO.printer   val write_text : (BatText.t, 'a) BatIO.printer   val write_line : (BatText.t, 'a) BatIO.printer   val lines_of : BatIO.input -> BatText.t BatEnum.t   val chars_of : BatIO.input -> BatUChar.t BatEnum.t   val output_text : unit BatIO.output -> BatText.t -> unit   val write_lines : (BatText.t BatEnum.t, 'a) BatIO.printer   val write_texts : (BatText.t BatEnum.t, 'a) BatIO.printer   val write_chars : (BatUChar.t BatEnum.t, 'a) BatIO.printer end