An extensible "universal" variant type.
Every type id (Type_equal.Id.t) corresponds to one branch of the variant type.
Type_equal.Id.t
does_match t id returns true iff t was created by create id v.
does_match t id
true
t
create id v
match_ t id returns Some v if t was created by create id v, and returns None otherwise.
match_ t id
Some v
None
match_exn t id returns v if t was created by create id v, and raises otherwise.
match_exn t id
v
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.
view t
View