diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+# 1.0.4
+
+* Move into mono-traversable repo, support mono-traversable 1.0
+
 # 1.0.3.1
 
 * Support for QuickCheck 2.8.2
diff --git a/Data/Conduit/Combinators.hs b/Data/Conduit/Combinators.hs
--- a/Data/Conduit/Combinators.hs
+++ b/Data/Conduit/Combinators.hs
@@ -216,7 +216,6 @@
 import           Data.Monoid                 (Monoid (..))
 import           Data.MonoTraversable
 import qualified Data.Sequences              as Seq
-import           Data.Sequences.Lazy
 import qualified Data.Vector.Generic         as V
 import qualified Data.Vector.Generic.Mutable as VM
 import           Data.Void                   (absurd)
@@ -230,7 +229,6 @@
 import qualified Prelude
 import           System.IO                   (Handle)
 import qualified System.IO                   as SIO
-import qualified Data.Textual.Encoding as DTE
 import qualified Data.Conduit.Text as CT
 import Data.ByteString (ByteString)
 import Data.Text (Text)
@@ -241,6 +239,14 @@
 import           Data.Primitive.MutVar       (MutVar, newMutVar, readMutVar,
                                               writeMutVar)
 
+#if MIN_VERSION_mono_traversable(1,0,0)
+import qualified Data.Sequences as DTE
+import           Data.Sequences (LazySequence (..))
+#else
+import           Data.Sequences.Lazy
+import qualified Data.Textual.Encoding as DTE
+#endif
+
 -- Defines INLINE_RULE0, INLINE_RULE, STREAMING0, and STREAMING.
 #include "fusion-macros.h"
 
@@ -409,7 +415,7 @@
 -- including @ByteString@ and @Text@.
 --
 -- Since 1.0.0
-sourceFile :: (MonadResource m, IOData a) => FilePath -> Producer m a
+sourceFile :: (MonadResource m, IOData a, MonoFoldable a) => FilePath -> Producer m a
 sourceFile fp = sourceIOHandle (SIO.openFile fp SIO.ReadMode)
 {-# INLINE sourceFile #-}
 
@@ -420,7 +426,7 @@
 -- Subject to fusion
 --
 -- Since 1.0.0
-sourceHandle, sourceHandleC :: (MonadIO m, IOData a) => Handle -> Producer m a
+sourceHandle, sourceHandleC :: (MonadIO m, IOData a, MonoFoldable a) => Handle -> Producer m a
 sourceHandleC h =
     loop
   where
@@ -437,7 +443,7 @@
 -- Automatically closes the file at completion.
 --
 -- Since 1.0.0
-sourceIOHandle :: (MonadResource m, IOData a) => SIO.IO Handle -> Producer m a
+sourceIOHandle :: (MonadResource m, IOData a, MonoFoldable a) => SIO.IO Handle -> Producer m a
 sourceIOHandle alloc = bracketP alloc SIO.hClose sourceHandle
 {-# INLINE sourceIOHandle #-}
 
@@ -446,7 +452,7 @@
 -- Subject to fusion
 --
 -- Since 1.0.0
-stdin :: (MonadIO m, IOData a) => Producer m a
+stdin :: (MonadIO m, IOData a, MonoFoldable a) => Producer m a
 INLINE_RULE0(stdin, sourceHandle SIO.stdin)
 
 -- | Create an infinite stream of random values, seeding from the system random
@@ -849,7 +855,11 @@
 -- Subject to fusion
 --
 -- Since 1.0.0
+#if MIN_VERSION_mono_traversable(1,0,0)
+elemE :: (Monad m, Seq.IsSequence seq, Eq (Element seq))
+#else
 elemE :: (Monad m, Seq.EqSequence seq)
+#endif
       => Element seq
       -> Consumer seq m Bool
 #if MIN_VERSION_mono_traversable(0,8,0)
@@ -875,7 +885,11 @@
 -- Subject to fusion
 --
 -- Since 1.0.0
+#if MIN_VERSION_mono_traversable(1,0,0)
+notElemE :: (Monad m, Seq.IsSequence seq, Eq (Element seq))
+#else
 notElemE :: (Monad m, Seq.EqSequence seq)
+#endif
          => Element seq
          -> Consumer seq m Bool
 #if MIN_VERSION_mono_traversable(0,8,0)
@@ -1124,7 +1138,11 @@
 -- Subject to fusion
 --
 -- Since 1.0.0
+#if MIN_VERSION_mono_traversable(1,0,0)
+maximumE :: (Monad m, Seq.IsSequence seq, Ord (Element seq)) => Consumer seq m (Maybe (Element seq))
+#else
 maximumE :: (Monad m, Seq.OrdSequence seq) => Consumer seq m (Maybe (Element seq))
+#endif
 INLINE_RULE0(maximumE, foldl1E max)
 
 -- | Get the smallest value in the stream, if present.
@@ -1140,7 +1158,11 @@
 -- Subject to fusion
 --
 -- Since 1.0.0
+#if MIN_VERSION_mono_traversable(1,0,0)
+minimumE :: (Monad m, Seq.IsSequence seq, Ord (Element seq)) => Consumer seq m (Maybe (Element seq))
+#else
 minimumE :: (Monad m, Seq.OrdSequence seq) => Consumer seq m (Maybe (Element seq))
+#endif
 INLINE_RULE0(minimumE, foldl1E min)
 
 -- | True if there are no values in the stream.
diff --git a/Data/Conduit/Combinators/Stream.hs b/Data/Conduit/Combinators/Stream.hs
--- a/Data/Conduit/Combinators/Stream.hs
+++ b/Data/Conduit/Combinators/Stream.hs
@@ -56,12 +56,17 @@
 #endif
 import qualified Data.NonNull as NonNull
 import qualified Data.Sequences as Seq
-import           Data.Sequences.Lazy
 import qualified Data.Vector.Generic as V
 import qualified Data.Vector.Generic.Mutable as VM
 import           Prelude
 import           System.IO (Handle)
 
+#if MIN_VERSION_mono_traversable(1,0,0)
+import           Data.Sequences (LazySequence (..))
+#else
+import           Data.Sequences.Lazy
+#endif
+
 -- END IMPORTS
 
 yieldManyS :: (Monad m, MonoFoldable mono)
@@ -97,7 +102,7 @@
             else Stop ()
 {-# INLINE repeatWhileMS #-}
 
-sourceHandleS :: (MonadIO m, IOData a) => Handle -> StreamProducer m a
+sourceHandleS :: (MonadIO m, MonoFoldable a, IOData a) => Handle -> StreamProducer m a
 sourceHandleS h _ =
     Stream step (return ())
   where
diff --git a/Data/Conduit/Combinators/Unqualified.hs b/Data/Conduit/Combinators/Unqualified.hs
--- a/Data/Conduit/Combinators/Unqualified.hs
+++ b/Data/Conduit/Combinators/Unqualified.hs
@@ -194,7 +194,6 @@
 import           Data.Monoid                 (Monoid (..))
 import           Data.MonoTraversable
 import qualified Data.Sequences              as Seq
-import           Data.Sequences.Lazy
 import qualified Data.Vector.Generic         as V
 import           Prelude                     (Bool (..), Eq (..), Int,
                                               Maybe (..), Monad (..), Num (..),
@@ -204,12 +203,19 @@
 import qualified Prelude
 import           System.IO                   (Handle)
 import qualified System.IO                   as SIO
-import qualified Data.Textual.Encoding as DTE
 import Data.ByteString (ByteString)
 import Data.Text (Text)
 import qualified System.Random.MWC as MWC
 
+#if MIN_VERSION_mono_traversable(1,0,0)
+import qualified Data.Sequences as DTE
+import           Data.Sequences (LazySequence (..))
+#else
+import           Data.Sequences.Lazy
+import qualified Data.Textual.Encoding as DTE
+#endif
 
+
 -- END IMPORTS
 
 -- | Yield each of the values contained by the given @MonoFoldable@.
@@ -316,7 +322,7 @@
 -- including @ByteString@ and @Text@.
 --
 -- Since 1.0.0
-sourceFile :: (MonadResource m, IOData a) => FilePath -> Producer m a
+sourceFile :: (MonadResource m, IOData a, MonoFoldable a) => FilePath -> Producer m a
 sourceFile = CC.sourceFile
 {-# INLINE sourceFile #-}
 
@@ -325,7 +331,7 @@
 -- Does not close the @Handle@ at any point.
 --
 -- Since 1.0.0
-sourceHandle :: (MonadIO m, IOData a) => Handle -> Producer m a
+sourceHandle :: (MonadIO m, IOData a, MonoFoldable a) => Handle -> Producer m a
 sourceHandle = CC.sourceHandle
 {-# INLINE sourceHandle #-}
 
@@ -334,14 +340,14 @@
 -- Automatically closes the file at completion.
 --
 -- Since 1.0.0
-sourceIOHandle :: (MonadResource m, IOData a) => SIO.IO Handle -> Producer m a
+sourceIOHandle :: (MonadResource m, IOData a, MonoFoldable a) => SIO.IO Handle -> Producer m a
 sourceIOHandle = CC.sourceIOHandle
 {-# INLINE sourceIOHandle #-}
 
 -- | @sourceHandle@ applied to @stdin@.
 --
 -- Since 1.0.0
-stdinC :: (MonadIO m, IOData a) => Producer m a
+stdinC :: (MonadIO m, IOData a, MonoFoldable a) => Producer m a
 stdinC = CC.stdin
 {-# INLINE stdinC #-}
 
@@ -650,7 +656,11 @@
 -- Stops consuming as soon as a match is found.
 --
 -- Since 1.0.0
+#if MIN_VERSION_mono_traversable(1,0,0)
+elemCE :: (Monad m, Seq.IsSequence seq, Eq (Element seq))
+#else
 elemCE :: (Monad m, Seq.EqSequence seq)
+#endif
       => Element seq
       -> Consumer seq m Bool
 elemCE = CC.elemE
@@ -670,7 +680,11 @@
 -- Stops consuming as soon as a match is found.
 --
 -- Since 1.0.0
+#if MIN_VERSION_mono_traversable(1,0,0)
+notElemCE :: (Monad m, Seq.IsSequence seq, Eq (Element seq))
+#else
 notElemCE :: (Monad m, Seq.EqSequence seq)
+#endif
          => Element seq
          -> Consumer seq m Bool
 notElemCE = CC.notElemE
@@ -837,7 +851,11 @@
 -- | Get the largest element in the chunked stream, if present.
 --
 -- Since 1.0.0
+#if MIN_VERSION_mono_traversable(1,0,0)
+maximumCE :: (Monad m, Seq.IsSequence seq, Ord (Element seq)) => Consumer seq m (Maybe (Element seq))
+#else
 maximumCE :: (Monad m, Seq.OrdSequence seq) => Consumer seq m (Maybe (Element seq))
+#endif
 maximumCE = CC.maximumE
 {-# INLINE maximumCE #-}
 
@@ -851,7 +869,11 @@
 -- | Get the smallest element in the chunked stream, if present.
 --
 -- Since 1.0.0
+#if MIN_VERSION_mono_traversable(1,0,0)
+minimumCE :: (Monad m, Seq.IsSequence seq, Ord (Element seq)) => Consumer seq m (Maybe (Element seq))
+#else
 minimumCE :: (Monad m, Seq.OrdSequence seq) => Consumer seq m (Maybe (Element seq))
+#endif
 minimumCE = CC.minimumE
 {-# INLINE minimumCE #-}
 
diff --git a/conduit-combinators.cabal b/conduit-combinators.cabal
--- a/conduit-combinators.cabal
+++ b/conduit-combinators.cabal
@@ -1,8 +1,8 @@
 name:                conduit-combinators
-version:             1.0.3.1
+version:             1.0.4
 synopsis:            Commonly used conduit functions, for both chunked and unchunked data
 description:         Provides a replacement for Data.Conduit.List, as well as a convenient Conduit module.
-homepage:            https://github.com/fpco/conduit-combinators
+homepage:            https://github.com/snoyberg/mono-traversable
 license:             MIT
 license-file:        LICENSE
 author:              Michael Snoyman
@@ -42,7 +42,7 @@
   else
       build-depends:   unix
   include-dirs:        .
-  ghc-options:         -Wall -O2 -rtsopts
+  ghc-options:         -Wall -O2
 
 test-suite test
   hs-source-dirs: test
@@ -74,4 +74,4 @@
 
 source-repository head
   type:     git
-  location: git://github.com/fpco/conduit-combinators.git
+  location: https://github.com/snoyberg/mono-traversable.git
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -28,8 +28,12 @@
 import Control.Applicative ((<$>), (<*>))
 #endif
 import Data.Builder
+#if MIN_VERSION_mono_traversable(1,0,0)
+import Data.Sequences (LazySequence (..), Utf8 (..))
+#else
 import Data.Sequences.Lazy
 import Data.Textual.Encoding
+#endif
 import qualified Data.NonNull as NN
 import System.IO.Silently (hCapture)
 import GHC.IO.Handle (hDuplicateTo)
