Module OS.Path

val exists : Fpath.t -> (bool, [> Rresult.R.msg ]) result
val must_exist : Fpath.t -> (Fpath.t, [> Rresult.R.msg ]) result
val move : ?force:bool -> Fpath.t -> Fpath.t -> (unit, [> Rresult.R.msg ]) result
val delete : ?must_exist:bool -> ?recurse:bool -> Fpath.t -> (unit, [> Rresult.R.msg ]) result
val stat : Fpath.t -> (Unix.stats, [> Rresult.R.msg ]) result
module Mode : sig ... end
val matches : ?dotfiles:bool -> Fpath.t -> (Fpath.t list, [> Rresult.R.msg ]) result
val query : ?dotfiles:bool -> ?init:Pat.defs -> Fpath.t -> ((Fpath.t * Pat.defs) list, [> Rresult.R.msg ]) result
type traverse = [
  1. | `Any
  2. | `None
  3. | `Sat of Fpath.t -> (bool, Rresult.R.msg) result
]
type elements = [
  1. | `Any
  2. | `Dirs
  3. | `Files
  4. | `Sat of Fpath.t -> (bool, Rresult.R.msg) result
]
type !'a fold_error = Fpath.t -> ('a, Rresult.R.msg) result -> (unit, Rresult.R.msg) result
val log_fold_error : level:Logs.level -> 'a fold_error
val fold : ?err:'b fold_error -> ?dotfiles:bool -> ?elements:elements -> ?traverse:traverse -> (Fpath.t -> 'a -> 'a) -> 'a -> Fpath.t list -> ('a, [> Rresult.R.msg ]) result