sig
  type (+'a, +'b) t
  val empty : ('a, 'b) Var.Subst.t
  val add : ('a, 'b) Var.Subst.t -> 'Var.var -> '-> ('a, 'b) Var.Subst.t
  val mem : ('a, 'b) Var.Subst.t -> 'Var.var -> bool
  val find : ('a, 'b) Var.Subst.t -> 'Var.var -> 'b option
  val find_exn : ('a, 'b) Var.Subst.t -> 'Var.var -> 'b
  val of_seq : ('Var.var * 'b) Sequence.t -> ('a, 'b) Var.Subst.t
  val to_list : ('a, 'b) Var.Subst.t -> ('Var.var * 'b) list
  val to_seq : ('a, 'b) Var.Subst.t -> ('Var.var * 'b) Sequence.t
  val pp : 'CCFormat.printer -> ('a, 'b) Var.Subst.t CCFormat.printer
end