Preface_specs.Indexed_monad_plusIndexed Monad_plus is a kind of Monoid on Indexed_monad. A Indexed_monad_plus is formally a Indexed_monad with neutral and combine. So a Indexed_monad_plus is also a Indexed_monad.
module type WITH_NEUTRAL_AND_COMBINE = sig ... endMinimal interfaces of Indexed Alternative without Indexed_monad.
module type WITH_MAP_AND_JOIN = sig ... endMinimal definition using neutral, combine, return, map and join.
module type WITH_KLEISLI_COMPOSITION = sig ... endMinimal definition using neutral, combine, return, compose_left_to_right.
module type WITH_BIND = sig ... endMinimal definition using neutral, combine, return, bind.
module type CORE = sig ... endBasis operations.
module type OPERATION = sig ... endAdditional operations.
module type INFIX = sig ... endInfix operators.
module type SYNTAX = sig ... endSyntax extensions
module type API = sig ... endThe complete interface of an Indexed_monad_plus.