sig
  type t
  val length : Extlib.PathGen.StringType.t -> int
  type tchar
  val get :
    Extlib.PathGen.StringType.t -> int -> Extlib.PathGen.StringType.tchar
  val lift_char : char -> Extlib.PathGen.StringType.tchar
  val lift : string -> Extlib.PathGen.StringType.t
  val to_string : Extlib.PathGen.StringType.t -> string
  val concat_with_separators :
    Extlib.PathGen.StringType.t ->
    Extlib.PathGen.StringType.t list -> Extlib.PathGen.StringType.t
  val compare :
    Extlib.PathGen.StringType.t -> Extlib.PathGen.StringType.t -> int
  val iter :
    (Extlib.PathGen.StringType.tchar -> unit) ->
    Extlib.PathGen.StringType.t -> unit
  val iteri :
    (int -> Extlib.PathGen.StringType.tchar -> unit) ->
    Extlib.PathGen.StringType.t -> unit
  val sub :
    Extlib.PathGen.StringType.t -> int -> int -> Extlib.PathGen.StringType.t
  val rindex : Extlib.PathGen.StringType.t -> char -> int
  module Parse :
    sig
      val source :
        Extlib.PathGen.StringType.t ->
        (Extlib.PathGen.StringType.tchar, Extlib.CharParser.position)
        Extlib.ParserCo.Source.t
      val letter :
        (Extlib.PathGen.StringType.tchar, Extlib.PathGen.StringType.tchar,
         Extlib.CharParser.position)
        Extlib.ParserCo.t
    end
end