val has_dir_sep : string -> bool
val is_seg : string -> bool
val is_rel_seg : string -> bool
val add_seg : t -> string -> t
val (/) : t -> string -> t
val is_dir_path : t -> bool
val strip_dir_sep : t -> t
val basename : ?no_ext:bool -> t -> string
val is_prefix : t -> t -> bool
val strip_prefix : t -> t -> t option
val drop_prefixed : t list -> t list
val reroot : root:t -> dst:t -> t -> t
val relative : to_dir:t -> t -> t
val is_current_dir : t -> bool
val is_parent_dir : t -> bool
val equal : t -> t -> bool
val equal_basename : t -> t -> bool
val compare : t -> t -> int
val get_ext : ?multi:bool -> t -> ext
val has_ext : ext -> t -> bool
val mem_ext : ext list -> t -> bool
val add_ext : ext -> t -> t
val strip_ext : ?multi:bool -> t -> t
val set_ext : ?multi:bool -> ext -> t -> t
val cut_ext : ?multi:bool -> t -> t * ext
val of_string : string -> (t, string) result
val to_string : t -> string
val to_uri_path : ?escape_space:bool -> t -> string
val distinct : t list -> t list
val search_path_sep : string
val list_of_search_path : ?sep:string -> string -> (t list, string) result