Ashley Yakeley <ashley@semantic.org> writes: > Prelude> 0 * 2 > 0 We can generalize this. import Monad double_your_monad_in_30_days :: (MonadPlus M) => M a double_your_monad_in_30_days = mzero `mplus` mzero