sig
  type 'a t = 'a Extlib.Global.t
  exception Global_not_initialized of string
  val empty : string -> 'a t
  val name : 'a t -> string
  val set : 'a t -> 'a -> unit
  val get : 'a t -> 'a
  val undef : 'a t -> unit
  val isdef : 'a t -> bool
  val opt : 'a t -> 'a option
  val t_of_sexp : (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
  val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
end