diff --git a/effectful-core/src/Effectful/Internal/Monad.hs b/effectful-core/src/Effectful/Internal/Monad.hs index 3b7f6ae..19ba211 100644 --- a/effectful-core/src/Effectful/Internal/Monad.hs +++ b/effectful-core/src/Effectful/Internal/Monad.hs @@ -287,10 +287,15 @@ instance MonadFix (Eff es) where ---------------------------------------- -- NonDet --- | Provide the ability to use the 'Alternative' and 'MonadPlus' instance for --- 'Eff'. --- --- @since 2.2.0.0 +{-| Provide the ability to use the 'Alternative' and 'MonadPlus' instance for +'Eff'. + +'NonDet' does not backtrack. Formally, it obeys the "left-catch" law for 'MonadPlus', +rather than the "left-distribution" law. This means that it behaves more like 'Maybe' +than '[]'. + +@since 2.2.0.0 +-} data NonDet :: Effect where Empty :: NonDet m a (:<|>:) :: m a -> m a -> NonDet m a