sig
  type ('a, 'b, 'c) t
  val invariant :
    'Invariant_intf.inv ->
    'Invariant_intf.inv ->
    'Invariant_intf.inv ->
    ('a, 'b, 'c) Invariant_intf.S3.t Invariant_intf.inv
end