Base.Type_equal
val sexp_of_t :
('a -> Sexplib0.Sexp.t) ->
('b -> Sexplib0.Sexp.t) ->
('a, 'b) t ->
Sexplib0.Sexp.t
type (!'a, !'b) equal = ('a, 'b) t
val refl : ('a, 'a) t
val conv : ('a, 'b) t -> 'a -> 'b
module type Injective = sig ... end
module type Injective2 = sig ... end
module Composition_preserves_injectivity
(M1 : Injective)
(M2 : Injective) :
sig ... end
module Id : sig ... end