Module type Invariant.LAWS

type 'a t
val invariant_1 : unit -> ('a t, 'a t) Law.t
val invariant_2 : unit -> ('a -> 'b, ('b -> 'a) -> ('c -> 'a) -> ('a -> 'c) -> 'c t -> 'b t) Law.t