functor (A : S2) (B : S2->
  sig
    type t = { eq : ''b. (('a, 'b) A.t, ('a, 'b) B.t) Type_equal.t; }
    val witness : Typename.Same_witness_exn_2.t
  end