-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Allows instances for Category, Arrow and ArrowChoice for Pipes.
--   
--   Allows instances for Category, Arrow and ArrowChoice for Pipes.
@package pipes-category
@version 0.2.0.1


-- | Allows instances for Category, Arrow and ArrowChoice for <a>Pipe</a>
--   using newtype wrapper <a>Shaft</a>.
module Pipes.Shaft
newtype Shaft r m b c
Shaft :: Pipe b c m r -> Shaft r m b c
[runShaft] :: Shaft r m b c -> Pipe b c m r
instance Pipes.Shaft.Shaft r0 m0 b0 c0 ~ t0 => Control.Lens.Wrapped.Rewrapped (Pipes.Shaft.Shaft r1 m1 b1 c1) t0
instance Control.Lens.Wrapped.Wrapped (Pipes.Shaft.Shaft r0 m0 b0 c0)
instance GHC.Base.Monad m => Control.Category.Category (Pipes.Shaft.Shaft r m)
instance GHC.Base.Monad m => Control.Arrow.Arrow (Pipes.Shaft.Shaft r m)
instance GHC.Base.Monad m => Control.Arrow.ArrowChoice (Pipes.Shaft.Shaft r m)
