MonadPlus protocol and implementation for Maybe