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