Module type Alternative.LAWS_MONOID
include Indexed_alternative.LAWS_MONOID with type ('a, _) t := 'a t
include Indexed_applicative.LAWS with type ('a, 'index) t := 'a t
val applicative_1 : unit -> ('a t, 'a t) Law.t
val applicative_2 : unit -> ('a -> 'b, 'a -> 'b t) Law.t
val applicative_3 : unit -> (('a -> 'b) t, 'a -> 'b t) Law.t
val applicative_4 : unit -> (('a -> 'b) t, ('c -> 'a) t -> 'c t -> 'b t) Law.t
val applicative_5 : unit -> ('a -> 'b, 'a t -> 'b t) Law.t
val alternative_monoid_1 : unit -> ('a t, 'a t) Law.t
val alternative_monoid_2 : unit -> ('a t, 'a t) Law.t
val alternative_monoid_3 : unit -> ('a t, 'a t -> 'a t -> 'a t) Law.t