`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 : (OpamTypes.variable * OpamTypes.variable_contents) list -> t
val variable :
t -> OpamTypes.variable -> OpamTypes.variable_contents option
val variables : t -> OpamTypes.variable list
end`