sig
  module Constr :
    sig
      type 'a t = 'Univ.Constr.t
      val create : string -> ('-> Sexplib.Sexp.t) -> 'a t
      val name : 'a t -> string
    end
  type t = Univ.t
  val constr_name : t -> string
  val create : 'Constr.t -> '-> t
  val match_ : t -> 'Constr.t -> 'a option
  val sexp_of_t : t -> Sexplib.Sexp.t
  val ounit_tests : unit -> OUnit.test
end