diff --git a/simple-pipe.cabal b/simple-pipe.cabal
--- a/simple-pipe.cabal
+++ b/simple-pipe.cabal
@@ -2,7 +2,7 @@
 cabal-version:	>= 1.8
 
 name:		simple-pipe
-version:	0.0.0.16
+version:	0.0.0.17
 stability:	Experimental
 author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
 maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>
@@ -80,7 +80,7 @@
 source-repository	this
     type:	git
     location:	git://github.com/YoshikuniJujo/simple-pipe.git
-    tag:	simple-pipe-0.0.0.16
+    tag:	simple-pipe-0.0.0.17
 
 library
     hs-source-dirs:	src
diff --git a/src/Data/Pipe.hs b/src/Data/Pipe.hs
--- a/src/Data/Pipe.hs
+++ b/src/Data/Pipe.hs
@@ -38,8 +38,8 @@
 	appLeft :: Monad m => pc b c m r -> pc (Either b d) (Either c d) m r
 	appRight :: Monad m => pc b c m r -> pc (Either d b) (Either d c) m r
 	(++++) :: Monad m =>
-		pc b c m () -> pc b' c' m () -> pc (Either b b') (Either c c') m ()
-	(||||) :: Monad m => pc b d m () -> pc c d m () -> pc (Either b c) d m ()
+		pc b c m r -> pc b' c' m r -> pc (Either b b') (Either c c') m r
+	(||||) :: Monad m => pc b d m r -> pc c d m r -> pc (Either b c) d m r
 
 	appRight f = mapIn mirror . mapOut mirror $ appLeft f
 		where
