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