sig
  val list_ : by:string -> string -> (string * int * int) list
  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
  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) option
  val left_exn : by:string -> string -> string * string
  val right : by:string -> string -> (string * string) option
  val right_exn : by:string -> string -> string * string
end