functor (A : S5) (B : S5->
  sig
    type t = {
      eq :
        '''''e.
          (('a, 'b, 'c, 'd, 'e) A.t, ('a, 'b, 'c, 'd, 'e) B.t) Type_equal.t;
    }
    val witness : Typename.Same_witness_exn_5.t
  end