sig
  val with_current_loc : Cil_types.location -> ('-> 'b) -> '-> 'b
  type 'a value
  val create : ?default:'-> string -> 'Wp.Context.value
  val defined : 'Wp.Context.value -> bool
  val get : 'Wp.Context.value -> 'a
  val set : 'Wp.Context.value -> '-> unit
  val update : 'Wp.Context.value -> ('-> 'a) -> unit
  val bind : 'Wp.Context.value -> '-> ('-> 'c) -> '-> 'c
  val free : 'Wp.Context.value -> ('-> 'c) -> '-> 'c
  val clear : 'Wp.Context.value -> unit
  val push : 'Wp.Context.value -> '-> 'a option
  val pop : 'Wp.Context.value -> 'a option -> unit
  val name : 'Wp.Context.value -> string
  val register : (unit -> unit) -> unit
  val configure : unit -> unit
end