sig
  type t
  val empty : Letify.Defs.t
  val merge : Letify.Defs.t -> Letify.Defs.t -> Letify.Defs.t
  val extract : Lang.F.pred -> Letify.Defs.t
  val add : Letify.Defs.t Stdlib.ref -> Lang.F.pred -> unit
  val domain : Letify.Defs.t -> Lang.F.Vars.t
end