diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,6 @@
 * version 0.1.0.4
-* Bunped some upper bounds in cabal file
+* Bumped some upper bounds in cabal file
+* Added/changed some optimization flags for streamly
 
 * version 0.1.0.2
 * Examples are now "test-suite" instead of "executable". They need not be built and example-only dependencies shouldn't be dependencies for library users.
diff --git a/map-reduce-folds.cabal b/map-reduce-folds.cabal
--- a/map-reduce-folds.cabal
+++ b/map-reduce-folds.cabal
@@ -1,7 +1,7 @@
 cabal-version:       2.2
                                           
 name:                map-reduce-folds
-version:             0.1.0.3
+version:             0.1.0.4
 build-type:          Simple
 synopsis:            foldl wrappers for map-reduce
 description:         map-reduce-folds simplifies the building of folds to do map-reduce style computations on collections.  It breaks the map/reduce into an unpacking step where items may be filtered, transformed or "melted" (made into several new items), an assign step where the unpacked items are assigned keys, a grouping step where the assigned items are grouped by key and then a reduce step which is applied to each grouped subset.  Tools are provided to simplify building the individual steps and then "engines" are provided for combining them into efficient folds returning an assortment of containers.  The various pieces are replicated for effectful (monadic) steps producing effectful (monadic) folds.
@@ -25,7 +25,7 @@
     Location: https://github.com/adamConnerSax/map-reduce-folds
               
 common deps
-  build-depends: base                 >= 4.12.0 && < 4.13,
+  build-depends: base                 >= 4.12.0 && < 4.14,
                  containers           >= 0.5.0 && < 0.7,
                  foldl                >= 1.4.5 && < 1.5,
                  profunctors          >= 5.3 && < 5.6,
@@ -37,7 +37,7 @@
   if flag(dump-core)
     build-depends: dump-core
     ghc-options: -fforce-recomp -fplugin=DumpCore -fplugin-opt DumpCore:core-html  
-  ghc-options: -Wall -fspecialise-aggressively -funbox-strict-fields -fexpose-all-unfoldings
+  ghc-options: -Wall -O2 -fspec-constr-recursive=16 -fmax-worker-args=16 -fspecialise-aggressively -funbox-strict-fields -fexpose-all-unfoldings
   exposed-modules: Control.MapReduce
                  , Control.MapReduce.Core
                  , Control.MapReduce.Simple
@@ -50,13 +50,13 @@
 
   build-depends:
                 discrimination       >= 0.3   && < 0.5,
-                hashable             >= 1.2.7 && < 1.4,
+                hashable             >= 1.2.4 && < 1.5,
                 hashtables           >= 1.2.0.0 && < 1.3.0.0,
                 vector               >= 0.12.0 && < 0.13,
                 parallel             >= 3.2.2 && < 3.3,
                 split                >= 0.2.3 && < 0.3,
                 streaming            >= 0.2.2 && < 0.3,
-                streamly             >= 0.6.1 && < 0.8
+                streamly             >= 0.7.0 && < 0.8
 
   hs-source-dirs:      src
   default-language:    Haskell2010
@@ -85,7 +85,7 @@
   type:                exitcode-stdio-1.0
   hs-source-dirs:      bench
   other-modules:       
-  ghc-options:         -O3 -fspecialise-aggressively -funbox-strict-fields -fexpose-all-unfoldings -fforce-recomp
+  ghc-options:         -O2 -fspec-constr-recursive=16 -fmax-worker-args=16 -fspecialise-aggressively -funbox-strict-fields -fexpose-all-unfoldings -fforce-recomp
 --                       -threaded "-with-rtsopts=-N"
   main-is:             MapReduce.hs
   build-depends:       map-reduce-folds >= 0.1.0.0, 
@@ -100,7 +100,7 @@
     type: exitcode-stdio-1.0       
     main-is: ListStats.hs
     hs-source-dirs: examples
-    ghc-options: -Wall
+    ghc-options: -Wall -O2 -fspec-constr-recursive=16 -fmax-worker-args=16
     build-depends: map-reduce-folds -any
     default-language:    Haskell2010
 
@@ -109,6 +109,6 @@
     type: exitcode-stdio-1.0       
     main-is: readmeExample.hs
     hs-source-dirs: examples
-    ghc-options: -Wall
+    ghc-options: -Wall -O2 -fspec-constr-recursive=16 -fmax-worker-args=16
     build-depends: map-reduce-folds -any
     default-language:    Haskell2010                                     
diff --git a/src/Control/MapReduce/Engines/Streamly.hs b/src/Control/MapReduce/Engines/Streamly.hs
--- a/src/Control/MapReduce/Engines/Streamly.hs
+++ b/src/Control/MapReduce/Engines/Streamly.hs
@@ -38,20 +38,24 @@
   , streamlyEngineM
   , concurrentStreamlyEngine
 
-  -- * Result Extraction
+    -- * Streamly Combinators
+  , toStreamlyFold
+  , toStreamlyFoldM
+
+    -- * Result Extraction
   , resultToList
   , concatStream
   , concatStreamFold
   , concatStreamFoldM
   , concatConcurrentStreamFold
 
-  -- * @groupBy@ Functions
+    -- * @groupBy@ Functions
   , groupByHashableKey
   , groupByOrderedKey
   , groupByHashableKeyST
   , groupByDiscriminatedKey
 
-  -- * Re-Exports
+    -- * Re-Exports
   , SerialT
   , WSerialT
   , AheadT
@@ -80,6 +84,7 @@
 import qualified Data.Sequence                 as Seq
 import qualified Streamly.Prelude              as S
 import qualified Streamly                      as S
+import qualified Streamly.Internal.Data.Fold   as SF
 import           Streamly                       ( SerialT
                                                 , WSerialT
                                                 , AheadT
@@ -89,6 +94,15 @@
                                                 , MonadAsync
                                                 , IsStream
                                                 )
+
+-- | convert a Control.Foldl FoldM into a Streamly.Data.Fold fold
+toStreamlyFoldM :: FL.FoldM m a b -> SF.Fold m a b
+toStreamlyFoldM (FL.FoldM step start done) = SF.mkFold step start done
+
+-- | convert a Control.Foldl Fold into a Streamly.Data.Fold fold
+toStreamlyFold :: Monad m => FL.Fold a b -> SF.Fold m a b
+toStreamlyFold (FL.Fold step start done) = SF.mkPure step start done
+
 
 -- | unpack for streamly based map/reduce
 unpackStream :: S.IsStream t => MRC.Unpack x y -> t Identity x -> t Identity y
