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