sig
  exception ERemove_prefix of Path.abs * Path.abs * string
  val make : string -> Path.abs
  val concat : Path.abs -> Path.rel -> Path.abs
  val chop_extension : Path.abs -> Path.abs
  val basename : Path.abs -> Path.rel
  val dirname : Path.abs -> Path.abs
  val open_temp_file :
    ?mode:Pervasives.open_flag list ->
    string -> string -> Path.abs * Pervasives.out_channel
  val executable_name : Path.abs
  val getcwd : unit -> Path.abs
  val is_prefix : Path.abs -> Path.abs -> bool
  val remove_prefix : Path.abs -> Path.abs -> Path.rel
  val remove_prefix_list : Path.abs -> Path.abs list -> Path.rel list
  val canonicalize : Path.abs -> Path.abs
  val file_exists : Path.abs -> bool
  val components : Path.abs -> string list
  val string_of : Path.abs -> string
  val compare : Path.abs -> Path.abs -> int
end