sig
  val exists : B0_std.Fpath.t -> (bool, string) Stdlib.result
  val must_exist : B0_std.Fpath.t -> (unit, string) Stdlib.result
  val delete : recurse:bool -> B0_std.Fpath.t -> (bool, string) Stdlib.result
  val rename :
    force:bool ->
    make_path:bool ->
    src:B0_std.Fpath.t -> B0_std.Fpath.t -> (unit, string) Stdlib.result
  val copy :
    ?rel:bool ->
    ?atomic:bool ->
    ?allow_hardlinks:bool ->
    ?follow_symlinks:bool ->
    ?prune:(Unix.stats -> string -> B0_std.Fpath.t -> bool) ->
    make_path:bool ->
    recurse:bool ->
    src:B0_std.Fpath.t -> B0_std.Fpath.t -> (unit, string) Stdlib.result
  val get_mode : B0_std.Fpath.t -> (int, string) Stdlib.result
  val set_mode : B0_std.Fpath.t -> int -> (unit, string) Stdlib.result
  val stat : B0_std.Fpath.t -> (Unix.stats, string) Stdlib.result
  val symlink :
    force:bool ->
    make_path:bool ->
    src:B0_std.Fpath.t -> B0_std.Fpath.t -> (unit, string) Stdlib.result
  val symlink_link : B0_std.Fpath.t -> (B0_std.Fpath.t, string) Stdlib.result
  val symlink_stat : B0_std.Fpath.t -> (Unix.stats, string) Stdlib.result
  type tmp_name = (string -> string, unit, string) Stdlib.format
  val tmp :
    ?make_path:bool ->
    ?dir:B0_std.Fpath.t ->
    ?name:B0_std.Os.Path.tmp_name ->
    unit -> (B0_std.Fpath.t, string) Stdlib.result
end