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