diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,11 @@
-0.0.2
+0.2.1
 
+* Generalize helper function sync
+
+0.2.0
+
 * BREAKING CHANGE: helper function sync is not IO anymore
 
-0.0.1
+0.1.0
 
 * Initial release
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -13,7 +13,6 @@
 ```haskell
 
 {-# LANGUAGE OverloadedStrings #-}
-
 module Main where
 
 import Data.Crjdt as C
diff --git a/crjdt-haskell.cabal b/crjdt-haskell.cabal
--- a/crjdt-haskell.cabal
+++ b/crjdt-haskell.cabal
@@ -1,5 +1,5 @@
 name:          crjdt-haskell
-version:       0.2.0.0
+version:       0.2.1
 synopsis:      A Conflict-Free Replicated JSON Datatype for Haskell
 description:   A Conflict-Free Replicated JSON Datatype for Haskell
 homepage:      https://github.com/amarpotghan/crjdt-haskell#readme
diff --git a/src/Data/Crjdt.hs b/src/Data/Crjdt.hs
--- a/src/Data/Crjdt.hs
+++ b/src/Data/Crjdt.hs
@@ -47,7 +47,9 @@
 import Data.Set (Set)
 import Data.Void
 import Data.Function
+import Data.Bifunctor (bimap)
 import Control.Monad.Free (liftF)
+import Control.Applicative (liftA2)
 
 import Data.Crjdt.Context as Core
 import Data.Crjdt.Types as Core
@@ -146,7 +148,7 @@
 -----------------------------------------------------------------------------------------------
 -- Utility functions
 
-sync :: (ReplicaId, Command ()) -> (ReplicaId, Command ()) -> Either EvalError (Eval (), Eval ())
+sync :: (ReplicaId, Command a) -> (ReplicaId, Command b) -> Either EvalError (Eval a, Eval b)
 sync (rid1, first) (rid2, second) =
   let (rFirst, sFirst) = run rid1 (Eval.execute first)
       (rSecond, sSecond) = run rid2 (Eval.execute second)
@@ -154,6 +156,6 @@
         Eval.execute which
         addReceivedOps (queue replica)
         Eval.execute yield
-  in case (rFirst *> rSecond) of
-    Right () -> pure $ (synced first sSecond, synced second sFirst)
+  in case (liftA2 (,) rFirst rSecond) of
+    Right (a, b) -> pure $ bimap (a <$) (b <$) (synced first sSecond, synced second sFirst)
     Left ex -> Left ex
