1signature Varmap = sig
2  type varmap = (string, int) Binarymap.dict
3  exception unifyVarmapError
4  val size : varmap -> int
5  val dest : varmap -> (string * int) list
6  val extends : varmap -> varmap -> bool
7  val insert : string * int -> varmap -> varmap
8  val empty : varmap
9  val eq : varmap * varmap -> bool
10  val peek : varmap -> string -> int option
11  val unify : varmap -> varmap -> varmap
12  val remove : string -> varmap -> varmap
13end
14