Module Core_kernel.Univ
An extensible "universal" variant type.
Every type id (Type_equal.Id.t
) corresponds to one branch of the variant type.
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val type_id_name : t -> Core_kernel__.Import.string
val type_id_uid : t -> Type_equal.Id.Uid.t
val create : 'a Type_equal.Id.t -> 'a -> t
val does_match : t -> _ Type_equal.Id.t -> Core_kernel__.Import.bool
does_match t id
returnstrue
ifft
was created bycreate id v
.
val match_ : t -> 'a Type_equal.Id.t -> 'a Core_kernel__.Import.option
match_ t id
returnsSome v
ift
was created bycreate id v
, and returnsNone
otherwise.match_exn t id
returnsv
ift
was created bycreate id v
, and raises otherwise.
val match_exn : t -> 'a Type_equal.Id.t -> 'a
module View : sig ... end