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_preinstalled :     OpamTypes.compiler ->     OpamTypes.compiler_version ->     OpamTypes.name list -> (string * string * string) list -> t   val preinstalled : t -> bool   val opam_version : t -> OpamTypes.opam_version   val name : t -> OpamTypes.compiler   val version : t -> OpamTypes.compiler_version   val src : t -> OpamTypes.address option   val kind : t -> OpamTypes.repository_kind   val patches : t -> OpamTypes.filename list   val configure : t -> string list   val make : t -> string list   val build : t -> OpamTypes.command list   val packages : t -> OpamTypes.formula   val env : t -> (string * string * string) list   val with_src : t -> OpamTypes.address option -> t   val with_patches : t -> OpamTypes.filename list -> t   val with_configure : t -> string list -> t   val with_make : t -> string list -> t   val with_build : t -> OpamTypes.command list -> t   val with_packages : t -> OpamTypes.formula -> t   val to_1_0 : OpamTypes.file -> OpamTypes.file end