sig
  val null : Topkg.fpath
  val dash : Topkg.fpath
  val exists : Topkg.fpath -> bool Topkg.result
  val must_exist : Topkg.fpath -> Topkg.fpath Topkg.result
  val delete : ?must_exist:bool -> Topkg.fpath -> unit Topkg.result
  val fold :
    ?skip:(Topkg.fpath -> bool) ->
    (Topkg.fpath -> '-> 'a) -> '-> Topkg.fpath list -> 'Topkg.result
  val read : Topkg.fpath -> string Topkg.result
  val write : Topkg.fpath -> string -> unit Topkg.result
  val write_subst :
    Topkg.fpath -> (string * string) list -> string -> unit Topkg.result
  val tmp : unit -> Topkg.fpath Topkg.result
end