Module Stdune.Type_eq

Equality between types. See Base.Type_equal for documentation.

type ('a, 'b) t =
| T : ('a'a) t
val cast : ('a'b) t -> 'a -> 'b
module Id : sig ... end with type ('a, 'b) Id.eq := ('a'b) t

Id provides identifiers for types, and the ability to test (via Id.same) at runtime if two identifiers are equal, and if so to get a proof of equality of their types.