sig
  val dev_null : As_path.t
  val exists : As_path.t -> bool As_cmd.result
  val delete : ?maybe:bool -> As_path.t -> unit As_cmd.result
  val temp : string -> As_path.t As_cmd.result
  val with_inf :
    (Pervasives.in_channel -> '-> 'As_cmd.result) ->
    As_path.t -> '-> 'As_cmd.result
  val read : As_path.t -> string As_cmd.result
  val read_lines : As_path.t -> string list As_cmd.result
  val with_outf :
    (Pervasives.out_channel -> '-> 'As_cmd.result) ->
    As_path.t -> '-> 'As_cmd.result
  val write : As_path.t -> string -> unit As_cmd.result
  val write_lines : As_path.t -> string list -> unit As_cmd.result
  val write_subst :
    (string * string) list -> As_path.t -> string -> unit As_cmd.result
end