sig
  type t
  and 'a tag
  val empty : unit -> PropList.t
  val make_new_tag : '-> 'PropList.tag
  val put : 'PropList.tag -> '-> PropList.t -> unit
  val get : 'PropList.tag -> PropList.t -> 'a
  val mem : 'PropList.tag -> PropList.t -> bool
end