sig
  type ('a, 'b, 'c) t
  val equal :
    'Equal.equal ->
    'Equal.equal -> 'Equal.equal -> ('a, 'b, 'c) Equal.S3.t Equal.equal
end