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