# Module Std_kernel.Univ

    module Univ: Univ

    type t

    val type_id_name : t -> string

    val type_id_uid : t -> Type_equal.Id.Uid.t

    val create : 'a Type_equal.Id.t -> 'a -> t

    val does_match : t -> 'a Type_equal.Id.t -> bool

`does_match t id` returns `true` iff `t` was created by `create id v`.

    val match_ : t -> 'a Type_equal.Id.t -> 'a option

`match_ t id` returns `Some v` if `t` was created by `create id v`, and returns `None` otherwise.

`match_exn t id` returns `v` if `t` was created by `create id v`, and raises otherwise.

    val match_exn : t -> 'a Type_equal.Id.t -> 'a

    module View: sig .. end

    val view : t -> View.t

`view t` provides access to the GADT representation of `t`. This is currently the same as the underlying representation, but is put in the `View` module to make later changes to the underlying representation easier.

    val sexp_of_t : t -> Sexplib.Sexp.t

`does_match t id` returns `true` iff `t` was created by `create id v`.
`match_ t id` returns `Some v` if `t` was created by `create id v`, and returns `None` otherwise.

`match_exn t id` returns `v` if `t` was created by `create id v`, and raises otherwise.
`view t` provides access to the GADT representation of `t`. This is currently the same as the underlying representation, but is put in the `View` module to make later changes to the underlying representation easier.