`sig
type t
val empty : t
val write : OpamTypes.filename -> t -> unit
val read : OpamTypes.filename -> t
val safe_read : OpamTypes.filename -> t
val read_from_channel : in_channel -> t
val write_to_channel : out_channel -> t -> unit
val create :
?browse:string ->
?upstream:string ->
?opam_version:string ->
?redirect:(string * OpamTypes.filter option) list -> unit -> t
val opam_version : t -> OpamVersion.t
val browse : t -> string option
val upstream : t -> string option
val redirect : t -> (string * OpamTypes.filter option) list
end`