Module Repr.Witness

type (_, _) eq =
  1. | Refl : ('a, 'a) eq
type 'a t
val make : unit -> 'a t
val eq : 'a t -> 'b t -> ('a, 'b) eq option
val eq_exn : 'a t -> 'b t -> ('a, 'b) eq
val cast : 'a t -> 'b t -> 'a -> 'b option
val cast_exn : 'a t -> 'b t -> 'a -> 'b