Preface_laws.Monad_plusmodule type LAWS_MONOID = sig ... endmodule type LAWS_LEFT_ABSORPTION = sig ... endmodule type LAWS_LEFT_DISTRIBUTIVITY = sig ... endmodule type LAWS_LEFT_CATCH = sig ... endmodule For_monoidal
(M : Preface_specs.MONAD_PLUS) :
LAWS_MONOID with type 'a t := 'a M.tmodule For_left_absorption
(M : Preface_specs.MONAD_PLUS) :
LAWS_LEFT_ABSORPTION with type 'a t := 'a M.tmodule For_left_distributivity
(M : Preface_specs.MONAD_PLUS) :
LAWS_LEFT_DISTRIBUTIVITY with type 'a t := 'a M.tmodule For_left_catch
(M : Preface_specs.MONAD_PLUS) :
LAWS_LEFT_CATCH with type 'a t := 'a M.t