sig
  val combine : string list -> string
  val map : (char -> char) -> string -> string
  val first_word : string -> string
  val cut_first_char : string -> string
  val cut_first_n : string -> int -> string
  val cut_last_char : string -> string
  val cut_last_n : string -> int -> string
  val cut_first_word : string -> string
  val split_at : str:string -> sep:char -> string
  val chomp : string -> string
  val map_inplace : (char -> char) -> string -> unit
  val uppercase : string -> string
  val lowercase : string -> string
  val capitalize : string -> string
  val uncapitalize : string -> string
  val first_of : string -> string -> int
  val first_of_from : string -> string -> int -> int
  val first_not_of : string -> string -> int
  val first_not_of_from : string -> string -> int -> int
  val prefix : string -> string -> bool
  val suffix : string -> string -> bool
  val index_substr : string -> string -> int
  val index_substr_from : string -> string -> int -> int
  val match_substr : string -> string -> int -> bool
end