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