sig
exception Global_not_initialized of string
type 'a t = 'a option Pervasives.ref * string
val empty : 'a -> 'b option Pervasives.ref * 'a
val name : 'a * 'b -> 'b
val set : 'a option Pervasives.ref * 'b -> 'a -> unit
val get : 'a option Pervasives.ref * string -> 'a
val getd : 'a -> 'a option Pervasives.ref * 'b -> 'a
val undef : 'a option Pervasives.ref * 'b -> unit
val isdef : 'a option Pervasives.ref * 'b -> bool
val opt : 'a Pervasives.ref * 'b -> 'a
end