sig
  type ustring
  type uchar
  module OperatorLift :
    sig val ( !! ) : string -> BatPathGen.PathType.ustring end
  type t = BatPathGen.PathType.ustring list
  val is_relative : BatPathGen.PathType.t -> bool
  val is_absolute : BatPathGen.PathType.t -> bool
  val root : BatPathGen.PathType.t
  val append :
    BatPathGen.PathType.t ->
    BatPathGen.PathType.ustring -> BatPathGen.PathType.t
  val concat :
    BatPathGen.PathType.t -> BatPathGen.PathType.t -> BatPathGen.PathType.t
  module Operators :
    sig
      val ( /: ) :
        BatPathGen.PathType.t ->
        BatPathGen.PathType.ustring -> BatPathGen.PathType.t
      val ( //@ ) :
        BatPathGen.PathType.t ->
        BatPathGen.PathType.t -> BatPathGen.PathType.t
    end
  module Infix :
    sig
      val ( /: ) :
        BatPathGen.PathType.t ->
        BatPathGen.PathType.ustring -> BatPathGen.PathType.t
      val ( //@ ) :
        BatPathGen.PathType.t ->
        BatPathGen.PathType.t -> BatPathGen.PathType.t
    end
  exception Malformed_path
  val normalize_filepath : BatPathGen.PathType.t -> BatPathGen.PathType.t
  val normalize_in_graph : BatPathGen.PathType.t -> BatPathGen.PathType.t
  val normalize_in_tree : BatPathGen.PathType.t -> BatPathGen.PathType.t
  val normalize : BatPathGen.PathType.t -> BatPathGen.PathType.t
  val parent : BatPathGen.PathType.t -> BatPathGen.PathType.t
  val belongs : BatPathGen.PathType.t -> BatPathGen.PathType.t -> bool
  val relative_to_any :
    BatPathGen.PathType.t -> BatPathGen.PathType.t -> BatPathGen.PathType.t
  exception Not_parent
  val relative_to_parent :
    BatPathGen.PathType.t -> BatPathGen.PathType.t -> BatPathGen.PathType.t
  exception Illegal_char
  type validator = BatPathGen.PathType.ustring -> bool
  val default_validator : BatPathGen.PathType.validator Stdlib.ref
  val to_ustring : BatPathGen.PathType.t -> BatPathGen.PathType.ustring
  val to_string : BatPathGen.PathType.t -> string
  val of_string : BatPathGen.PathType.ustring -> BatPathGen.PathType.t
  val s : BatPathGen.PathType.t -> string
  val p : BatPathGen.PathType.ustring -> BatPathGen.PathType.t
  val name : BatPathGen.PathType.t -> BatPathGen.PathType.ustring
  val map_name :
    (BatPathGen.PathType.ustring -> BatPathGen.PathType.ustring) ->
    BatPathGen.PathType.t -> BatPathGen.PathType.t
  val ext : BatPathGen.PathType.t -> BatPathGen.PathType.ustring option
  val map_ext :
    (BatPathGen.PathType.ustring option -> BatPathGen.PathType.ustring option) ->
    BatPathGen.PathType.t -> BatPathGen.PathType.t
  val name_core : BatPathGen.PathType.t -> BatPathGen.PathType.ustring
  type components =
      BatPathGen.PathType.t * BatPathGen.PathType.ustring *
      BatPathGen.PathType.ustring option
  val split : BatPathGen.PathType.t -> BatPathGen.PathType.components
  val join : BatPathGen.PathType.components -> BatPathGen.PathType.t
  val map :
    (BatPathGen.PathType.components -> BatPathGen.PathType.components) ->
    BatPathGen.PathType.t -> BatPathGen.PathType.t
  val drive_letter :
    BatPathGen.PathType.t -> BatPathGen.PathType.uchar option
end