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

Duplicate of issue #9 (sorry, github newbie here)