sig
  type 'a t
  val invariant : 'Invariant.inv -> 'Invariant.S1.t Invariant.inv
end