Filtering and folding over arbitrary MonadPlus instances