Module Type_equal = Type_equal


type ('a, 'b) t =
| T : ('a, 'a) t

runtime witnes of type equality this is a reduced version of Core.Std.Type_equal.

type ('a, 'b) equal = ('a, 'b) t
val conv : ('a, 'b) t -> 'a -> 'b

type-safe conversion between equal types

val refl : ('a, 'a) t

type equality is reflexive

module Lift (X : sig .. end) : sig .. end
needed in some cases even though t is exported and is a gadt