sig
  val to_int : [> `Read ] BatString.Cap.t -> int option
  val to_float : [> `Read ] BatString.Cap.t -> float option
  val index : [> `Read ] BatString.Cap.t -> char -> int option
  val rindex : [> `Read ] BatString.Cap.t -> char -> int option
  val index_from : [> `Read ] BatString.Cap.t -> int -> char -> int option
  val rindex_from : [> `Read ] BatString.Cap.t -> int -> char -> int option
  val find :
    [> `Read ] BatString.Cap.t -> [> `Read ] BatString.Cap.t -> int option
  val find_from :
    [> `Read ] BatString.Cap.t ->
    int -> [> `Read ] BatString.Cap.t -> int option
  val rfind :
    [> `Read ] BatString.Cap.t -> [> `Read ] BatString.Cap.t -> int option
  val rfind_from :
    [> `Read ] BatString.Cap.t ->
    int -> [> `Read ] BatString.Cap.t -> int option
  val split :
    [> `Read ] BatString.Cap.t ->
    by:[> `Read ] BatString.Cap.t ->
    ('BatString.Cap.t * 'BatString.Cap.t) option
  val rsplit :
    [> `Read ] BatString.Cap.t ->
    by:[> `Read ] BatString.Cap.t ->
    ('BatString.Cap.t * 'BatString.Cap.t) option
end