sig
  type 'a t
  exception Global_not_initialized of string
  val empty : string -> 'Global.t
  val name : 'Global.t -> string
  val set : 'Global.t -> '-> unit
  val get : 'Global.t -> 'a
  val undef : 'Global.t -> unit
  val isdef : 'Global.t -> bool
  val opt : 'Global.t -> 'a option
end