sig
  val root : string
  val realpath : string -> string
  val is_posix_pathname_component : string -> bool
  val temp_file : ?perm:int -> ?in_dir:string -> string -> string -> string
  val temp_dir : ?perm:int -> ?in_dir:string -> string -> string -> string
  val open_temp_file :
    ?perm:int -> ?in_dir:string -> string -> string -> string * out_channel
  val current_dir_name : string
  val parent_dir_name : string
  val dir_sep : string
  val concat : string -> string -> string
  val is_relative : string -> bool
  val is_absolute : string -> bool
  val is_implicit : string -> bool
  val check_suffix : string -> string -> bool
  val chop_suffix : string -> string -> string
  val chop_extension : string -> string
  val split_extension : string -> string * string option
  val basename : string -> string
  val dirname : string -> string
  val split : string -> string * string
  val parts : string -> string list
  val temp_dir_name : string
  val quote : string -> string
  val ounit_tests : unit -> OUnit.test
  val normalize : string -> string
  val parent : string -> string
  val make_relative : ?to_:string -> string -> string
  val make_absolute : string -> string
  val expand : ?from:string -> string -> string
  val explode : string -> string list
  val implode : string list -> string
  val normalize_path : string list -> string list
  val compare : string -> string -> int
  val with_open_temp_file :
    ?in_dir:string ->
    ?write:(out_channel -> unit) ->
    f:(string -> 'a) -> string -> string -> 'a
  val with_temp_dir :
    ?in_dir:string -> string -> string -> f:(string -> 'a) -> 'a
  val is_parent : string -> string -> bool
  val ounit_tests : unit -> OUnit.test
end