functor (M1 : Injective) (M2 : Injective->
  sig
    type 'a t = 'M1.t M2.t
    val strip : ('a t, 'b t) equal -> ('a, 'b) equal
  end