diff --git a/Data/Filtrable.hs b/Data/Filtrable.hs
--- a/Data/Filtrable.hs
+++ b/Data/Filtrable.hs
@@ -1,4 +1,4 @@
-module Data.Filtrable (Filtrable (..)) where
+module Data.Filtrable (Filtrable (..), (<$?>), (<*?>)) where
 
 import Prelude hiding (filter)
 
@@ -80,3 +80,11 @@
 
 instance (Functor f, Filtrable g) => Filtrable (Compose f g) where
     mapMaybe f (Compose as) = Compose (mapMaybe f <$> as)
+
+infixl 4 <$?>, <*?>
+
+(<$?>) :: Filtrable f => (a -> Maybe b) -> f a -> f b
+(<$?>) = mapMaybe
+
+(<*?>) :: (Applicative p, Filtrable p) => p (a -> Maybe b) -> p a -> p b
+f <*?> a = catMaybes (f <*> a)
diff --git a/filtrable.cabal b/filtrable.cabal
--- a/filtrable.cabal
+++ b/filtrable.cabal
@@ -1,5 +1,5 @@
 name:                filtrable
-version:             0.1.2.0
+version:             0.1.3.0
 synopsis:            Class of filtrable containers
 homepage:            https://github.com/strake/filtrable.hs
 license:             BSD3
