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