sig
  val exists : string -> bool
  val list_of_dir : string -> string list
  val fold_directory : ('-> string -> 'a) -> '-> string -> 'a
  val recurse_stream : string -> (string * Unix.stats) Stream.t
  val recurse_list : string -> (string * Unix.stats) list
  val recurse_cmd : (string * Unix.stats -> unit) -> string -> unit
  val rm : ?recursive:bool -> ?force:bool -> string -> unit
end