Module type Arrow_apply.LAWS

type ('a, 'b) t
val arrow_apply_1 : unit -> (unit, ('a * 'b, 'a * 'b) t) Law.t
val arrow_apply_2 : unit -> (('a, 'b) t, (('b, 'c) t * 'a, 'c) t) Law.t
val arrow_apply_3 : unit -> (('a, 'b) t, (('c, 'a) t * 'c, 'b) t) Law.t