`sig
type t
exception Out_of_bounds
exception Invalid_rope
val max_length : int
val empty : BatRope.t
val of_latin1 : string -> BatRope.t
val of_string : string -> BatRope.t
val to_string : BatRope.t -> string
val of_ustring : BatUTF8.t -> BatRope.t
val to_ustring : BatRope.t -> BatUTF8.t
val of_uchar : BatCamomile.UChar.t -> BatRope.t
val of_char : char -> BatRope.t
val make : int -> BatCamomile.UChar.t -> BatRope.t
val lowercase : BatRope.t -> BatRope.t
val uppercase : BatRope.t -> BatRope.t
val capitalize : BatRope.t -> BatRope.t
val uncapitalize : BatRope.t -> BatRope.t
val join : BatRope.t -> BatRope.t list -> BatRope.t
val explode : BatRope.t -> BatCamomile.UChar.t list
val implode : BatCamomile.UChar.t list -> BatRope.t
val is_empty : BatRope.t -> bool
val length : BatRope.t -> int
val height : BatRope.t -> int
val balance : BatRope.t -> BatRope.t
val append : BatRope.t -> BatRope.t -> BatRope.t
val ( ^^^ ) : BatRope.t -> BatRope.t -> BatRope.t
val append_char : BatCamomile.UChar.t -> BatRope.t -> BatRope.t
val prepend_char : BatCamomile.UChar.t -> BatRope.t -> BatRope.t
val get : BatRope.t -> int -> BatCamomile.UChar.t
val set : BatRope.t -> int -> BatCamomile.UChar.t -> BatRope.t
val sub : BatRope.t -> int -> int -> BatRope.t
val insert : int -> BatRope.t -> BatRope.t -> BatRope.t
val remove : int -> int -> BatRope.t -> BatRope.t
val iter : (BatCamomile.UChar.t -> unit) -> BatRope.t -> unit
val iteri :
?base:int -> (int -> BatCamomile.UChar.t -> unit) -> BatRope.t -> unit
val range_iter :
(BatCamomile.UChar.t -> unit) -> int -> int -> BatRope.t -> unit
val range_iteri :
(int -> BatCamomile.UChar.t -> unit) ->
?base:int -> int -> int -> BatRope.t -> unit
val bulk_iter : (BatUTF8.t -> unit) -> BatRope.t -> unit
val bulk_iteri :
?base:int -> (int -> BatUTF8.t -> unit) -> BatRope.t -> unit
val fold : ('a -> BatCamomile.UChar.t -> 'a) -> 'a -> BatRope.t -> 'a
val bulk_fold : ('a -> BatUTF8.t -> 'a) -> 'a -> BatRope.t -> 'a
val enum : BatRope.t -> BatCamomile.UChar.t BatEnum.t
val bulk_enum : BatRope.t -> BatUTF8.t BatEnum.t
val of_enum : BatCamomile.UChar.t BatEnum.t -> BatRope.t
val of_bulk_enum : BatUTF8.t BatEnum.t -> BatRope.t
val backwards : BatRope.t -> BatCamomile.UChar.t BatEnum.t
val of_backwards : BatCamomile.UChar.t BatEnum.t -> BatRope.t
val init : int -> (int -> BatCamomile.UChar.t) -> BatRope.t
val of_int : int -> BatRope.t
val of_float : float -> BatRope.t
val to_int : BatRope.t -> int
val to_float : BatRope.t -> float
val bulk_map : (BatUTF8.t -> BatUTF8.t) -> BatRope.t -> BatRope.t
val map :
(BatCamomile.UChar.t -> BatCamomile.UChar.t) -> BatRope.t -> BatRope.t
val bulk_filter_map :
(BatUTF8.t -> BatUTF8.t option) -> BatRope.t -> BatRope.t
val filter_map :
(BatCamomile.UChar.t -> BatCamomile.UChar.t option) ->
BatRope.t -> BatRope.t
val filter : (BatCamomile.UChar.t -> bool) -> BatRope.t -> BatRope.t
val index : BatRope.t -> BatCamomile.UChar.t -> int
val index_from : BatRope.t -> int -> BatCamomile.UChar.t -> int
val rindex : BatRope.t -> BatCamomile.UChar.t -> int
val rindex_from : BatRope.t -> int -> BatCamomile.UChar.t -> int
val contains : BatRope.t -> BatCamomile.UChar.t -> bool
val contains_from : BatRope.t -> int -> BatCamomile.UChar.t -> bool
val rcontains_from : BatRope.t -> int -> BatCamomile.UChar.t -> bool
val find : BatRope.t -> BatRope.t -> int
val find_from : BatRope.t -> int -> BatRope.t -> int
val rfind : BatRope.t -> BatRope.t -> int
val rfind_from : BatRope.t -> int -> BatRope.t -> int
val starts_with : BatRope.t -> BatRope.t -> bool
val ends_with : BatRope.t -> BatRope.t -> bool
val exists : BatRope.t -> BatRope.t -> bool
val trim : BatRope.t -> BatRope.t
val left : BatRope.t -> int -> BatRope.t
val right : BatRope.t -> int -> BatRope.t
val head : BatRope.t -> int -> BatRope.t
val tail : BatRope.t -> int -> BatRope.t
val strip : ?chars:BatCamomile.UChar.t list -> BatRope.t -> BatRope.t
val lchop : BatRope.t -> BatRope.t
val rchop : BatRope.t -> BatRope.t
val slice : ?first:int -> ?last:int -> BatRope.t -> BatRope.t
val splice : BatRope.t -> int -> int -> BatRope.t -> BatRope.t
val fill : BatRope.t -> int -> int -> BatCamomile.UChar.t -> BatRope.t
val blit : BatRope.t -> int -> BatRope.t -> int -> int -> BatRope.t
val concat : BatRope.t -> BatRope.t list -> BatRope.t
val escaped : BatRope.t -> BatRope.t
val replace_chars :
(BatCamomile.UChar.t -> BatUTF8.t) -> BatRope.t -> BatRope.t
val replace :
str:BatRope.t -> sub:BatRope.t -> by:BatRope.t -> bool * BatRope.t
val split : BatRope.t -> BatRope.t -> BatRope.t * BatRope.t
val rsplit : BatRope.t -> BatRope.t -> BatRope.t * BatRope.t
val nsplit : BatRope.t -> BatRope.t -> BatRope.t list
val compare : BatRope.t -> BatRope.t -> int
val icompare : BatRope.t -> BatRope.t -> int
module IRope : sig type t = t val compare : t -> t -> int end
module Infix : sig val ( ^^^ ) : BatRope.t -> BatRope.t -> BatRope.t end
val print : 'a BatInnerIO.output -> BatRope.t -> unit
val t_printer : BatRope.t BatValue_printer.t
end`