sig
  type 'a t
  val create : int -> 'a Syntax.ContextTable.t
  val add : 'a Syntax.ContextTable.t -> 'b Syntax.context -> 'a -> unit
  val replace : 'a Syntax.ContextTable.t -> 'b Syntax.context -> 'a -> unit
  val find : 'a Syntax.ContextTable.t -> 'b Syntax.context -> 'a
  val mem : 'a Syntax.ContextTable.t -> 'b Syntax.context -> bool
  val clear : 'a Syntax.ContextTable.t -> unit
end