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