sig
  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:(Pervasives.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