functor (X : sig type 'a t end) -> sig val lift : ('a, 'b) Type_equal.t -> ('a X.t, 'b X.t) Type_equal.t end