diff --git a/pipes-extras.cabal b/pipes-extras.cabal
--- a/pipes-extras.cabal
+++ b/pipes-extras.cabal
@@ -1,5 +1,5 @@
 Name: pipes-extras
-Version: 1.0.11
+Version: 1.0.12
 Cabal-Version: >=1.10
 Build-Type: Simple
 License: BSD3
diff --git a/src/Pipes/Extras.hs b/src/Pipes/Extras.hs
--- a/src/Pipes/Extras.hs
+++ b/src/Pipes/Extras.hs
@@ -8,10 +8,12 @@
     , left
     , right
     , (+++)
+    , select
 
     -- * Lenses
     , input
     , output
+    , select'
 
     -- * Fun
     , check
@@ -52,6 +54,7 @@
 arr = Pipes.map
 {-# INLINABLE arr #-}
 
+-- | Feed some values into a pipe and let the rest pass by
 select :: Monad m => (b -> t) -> (s -> Either t a) -> Pipe a b m r -> Pipe s t m r
 select inj proj pipe = await' >~ for pipe yield'
     where
@@ -65,6 +68,7 @@
             Right a -> return a
 {-# INLINABLE select #-}
 
+-- | Like 'select', but use a 'Prism' (like '_Left') to decide what to process
 select' :: Monad m => Prism s t a b -> Pipe a b m r -> Pipe s t m r
 select' prism = withPrism prism select
 {-# INLINABLE select' #-}
