Generalise MonadPlus to Monad for 'when' and 'unless'