[Haskell-cafe] generic filter through MonadPlus