sig
module Constr :
sig
type 'a t = 'a Univ.Constr.t
val create : string -> ('a -> Sexplib.Sexp.t) -> 'a t
val name : 'a t -> string
val hash : 'a t -> int
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
end
type t = Univ.t
val constr_name : t -> string
val create : 'a Constr.t -> 'a -> t
val does_match : t -> 'a Constr.t -> bool
val match_ : t -> 'a Constr.t -> 'a option
val match_exn : t -> 'a Constr.t -> 'a
val sexp_of_t : t -> Sexplib.Sexp.t
end