`sig
type base
type t
val base : Substring_intf.S.t -> Substring_intf.S.base
val pos : Substring_intf.S.t -> int
val length : Substring_intf.S.t -> int
val create :
?pos:int -> ?len:int -> Substring_intf.S.base -> Substring_intf.S.t
val blit_to_string :
Substring_intf.S.t -> dst:string -> dst_pos:int -> unit
val blit_to_bigstring :
Substring_intf.S.t -> dst:Bigstring.t -> dst_pos:int -> unit
val blit_from_string :
Substring_intf.S.t -> src:string -> src_pos:int -> len:int -> unit
val blit_from_bigstring :
Substring_intf.S.t -> src:Bigstring.t -> src_pos:int -> len:int -> unit
val concat : Substring_intf.S.t list -> Substring_intf.S.t
val concat_string : Substring_intf.S.t list -> string
val concat_bigstring : Substring_intf.S.t list -> Bigstring.t
val of_bigstring : Bigstring.t -> Substring_intf.S.t
val of_string : string -> Substring_intf.S.t
val to_bigstring : Substring_intf.S.t -> Bigstring.t
val to_string : Substring_intf.S.t -> string
val drop_prefix : Substring_intf.S.t -> int -> Substring_intf.S.t
val drop_suffix : Substring_intf.S.t -> int -> Substring_intf.S.t
val prefix : Substring_intf.S.t -> int -> Substring_intf.S.t
val suffix : Substring_intf.S.t -> int -> Substring_intf.S.t
end`