Module Sorts.QVar

type t
val var_index : t -> int option
val make_var : int -> t
val make_unif : string -> int -> t
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val raw_pr : t -> Pp.t

Using this is incorrect when names are available, typically from an evar map.

val to_string : t -> string

Debug printing

type repr =
| Var of int
| Unif of string * int
val repr : t -> repr
val of_repr : repr -> t
module Set : CSig.SetS with type elt = t
module Map : CMap.ExtS with type key = t and module Set := Set