Preface_laws.Indexed_monad_plus
module type LAWS_MONOID = sig ... end
module type LAWS_LEFT_ABSORPTION = sig ... end
module type LAWS_LEFT_DISTRIBUTIVITY = sig ... end
module type LAWS_LEFT_CATCH = sig ... end
module For_monoidal
(M : Preface_specs.INDEXED_MONAD_PLUS) :
LAWS_MONOID with type ('a, 'index) t := ('a, 'index) M.t
module For_left_absorption
(M : Preface_specs.INDEXED_MONAD_PLUS) :
LAWS_LEFT_ABSORPTION with type ('a, 'index) t := ('a, 'index) M.t
module For_left_distributivity
(M : Preface_specs.INDEXED_MONAD_PLUS) :
LAWS_LEFT_DISTRIBUTIVITY with type ('a, 'index) t := ('a, 'index) M.t
module For_left_catch
(M : Preface_specs.INDEXED_MONAD_PLUS) :
LAWS_LEFT_CATCH with type ('a, 'index) t := ('a, 'index) M.t