diff --git a/crdt.cabal b/crdt.cabal
--- a/crdt.cabal
+++ b/crdt.cabal
@@ -1,5 +1,5 @@
 name: crdt
-version: 10.4
+version: 10.5
           -- ^ ComVer
 category: Distributed Systems
 copyright:
@@ -27,7 +27,7 @@
                   , bytestring
                   , containers >= 0.5.9
                     -- since lookupMax is used
-                  , Diff
+                  , Diff < 0.4
                   , hashable
                   , mtl
                   , network-info
diff --git a/lib/CRDT/Cv/LwwElementSet.hs b/lib/CRDT/Cv/LwwElementSet.hs
--- a/lib/CRDT/Cv/LwwElementSet.hs
+++ b/lib/CRDT/Cv/LwwElementSet.hs
@@ -1,5 +1,4 @@
 {-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE TypeSynonymInstances #-}
 
 module CRDT.Cv.LwwElementSet
     ( LwwElementSet (..)
diff --git a/lib/CRDT/LWW.hs b/lib/CRDT/LWW.hs
--- a/lib/CRDT/LWW.hs
+++ b/lib/CRDT/LWW.hs
@@ -1,5 +1,4 @@
 {-# LANGUAGE CPP #-}
-{-# LANGUAGE NamedFieldPuns #-}
 {-# LANGUAGE TypeFamilies #-}
 
 #if __GLASGOW_HASKELL__ >= 800
@@ -56,14 +55,14 @@
 
 -- | Initialize state
 initialize :: Clock m => a -> m (LWW a)
-initialize value = LWW value <$> getTime
+initialize val = LWW val <$> getTime
 
 -- | Change state as CvRDT operation.
 -- Current value is ignored, because new timestamp is always greater.
 assign :: Clock m => a -> LWW a -> m (LWW a)
-assign value old = do
+assign val old = do
     advanceFromLWW old
-    initialize value
+    initialize val
 
 -- | Query state
 query :: LWW a -> a
@@ -83,9 +82,9 @@
 
     initial = Nothing
 
-    makeOp value = Just . \case
-        Just payload -> assign value payload
-        Nothing      -> initialize value
+    makeOp val = Just . \case
+        Just payload -> assign val payload
+        Nothing      -> initialize val
 
     apply op = Just . \case
         Just payload -> op <> payload
@@ -94,4 +93,4 @@
 #endif /* __GLASGOW_HASKELL__ >= 800 */
 
 advanceFromLWW :: Clock m => LWW a -> m ()
-advanceFromLWW LWW{time = LamportTime time _} = advance time
+advanceFromLWW LWW{time = LamportTime t _} = advance t
diff --git a/lib/CRDT/LamportClock/Simulation.hs b/lib/CRDT/LamportClock/Simulation.hs
--- a/lib/CRDT/LamportClock/Simulation.hs
+++ b/lib/CRDT/LamportClock/Simulation.hs
@@ -3,7 +3,6 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
-{-# LANGUAGE NamedFieldPuns #-}
 
 module CRDT.LamportClock.Simulation
     (
