module Split:sig..end
val list_ : by:string -> string -> (string * int * int) listby. Should only
      be used with very small separators, otherwise
      use Containers_string.KMP.Failure if by = ""(s,index,length) that are
      separated by by. String.sub can then be used to actually extract
      a string from the slice.val gen : by:string -> string -> (string * int * int) CCString.gen
val seq : by:string -> string -> (string * int * int) CCString.sequence
val klist : by:string -> string -> (string * int * int) CCString.klist
  Those split functions actually copy the substrings, which can be
  more convenient but less efficient in general
val list_cpy : by:string -> string -> string list
val gen_cpy : by:string -> string -> string CCString.gen
val seq_cpy : by:string -> string -> string CCString.sequence
val klist_cpy : by:string -> string -> string CCString.klist
val left : by:string -> string -> (string * string) optionby from the leftmost part of
      the stringval left_exn : by:string -> string -> string * stringby from the leftmost part of the stringNot_found if by is not part of the stringval right : by:string -> string -> (string * string) optionby from the rightmost part of
      the stringval right_exn : by:string -> string -> string * stringby from the rightmost part of the stringNot_found if by is not part of the string