diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+# 0.4.1
+
+* Brought up to date with cacophony API changes
+
 # 0.4.0
 
 * Brought up to date with cacophony API changes
diff --git a/examples/loopback/Main.hs b/examples/loopback/Main.hs
--- a/examples/loopback/Main.hs
+++ b/examples/loopback/Main.hs
@@ -3,6 +3,7 @@
 import Control.Exception     (SomeException)
 import Control.Lens
 import Control.Monad         (forever)
+import Data.ByteArray        (ScrubbedBytes, convert)
 import Data.ByteString.Char8 (unpack, pack)
 import Pipes
 import qualified Pipes.Prelude as P
@@ -13,7 +14,6 @@
 import Crypto.Noise.DH.Curve25519
 import Crypto.Noise.HandshakePatterns (noiseNN)
 import Crypto.Noise.Hash.SHA256
-import Data.ByteArray.Extend
 
 import Pipes.Noise
 
diff --git a/pipes-cacophony.cabal b/pipes-cacophony.cabal
--- a/pipes-cacophony.cabal
+++ b/pipes-cacophony.cabal
@@ -1,5 +1,5 @@
 name:          pipes-cacophony
-version:       0.4.0
+version:       0.4.1
 synopsis:      Pipes for Noise-secured network connections.
 license:       PublicDomain
 license-file:  LICENSE
@@ -46,9 +46,10 @@
 
 library
   build-depends:
-    base       >=4.8 && <5,
+    base        >=4.8 && <5,
     bytestring,
-    cacophony  >=0.8,
+    cacophony   >=0.9,
+    memory,
     pipes
   hs-source-dirs:   src
   default-language: Haskell2010
@@ -69,10 +70,11 @@
 
   if flag(build-examples)
     build-depends:
-      base               >=4.8 && <5,
+      base            >=4.8 && <5,
       bytestring,
-      cacophony          >=0.7,
+      cacophony       >=0.9,
       lens,
+      memory,
       pipes,
       pipes-cacophony
   else
@@ -80,6 +82,9 @@
 
   ghc-options:      -threaded -O2 -rtsopts -with-rtsopts=-N -Wall -fwarn-tabs
 
+  if flag(llvm)
+    ghc-options: -fllvm
+
 --------------------------------------------------------------------------------
 -- TESTS
 
@@ -94,5 +99,8 @@
     buildable: False
   else
     build-depends:
-      base >=4.8 && <5,
+      base  >=4.8 && <5,
       hlint
+
+  if flag(llvm)
+    ghc-options: -fllvm
diff --git a/src/Pipes/Noise.hs b/src/Pipes/Noise.hs
--- a/src/Pipes/Noise.hs
+++ b/src/Pipes/Noise.hs
@@ -16,6 +16,7 @@
 
 import Control.Concurrent.MVar (MVar, newMVar, putMVar, takeMVar)
 import Control.Exception       (SomeException)
+import Data.ByteArray          (ScrubbedBytes)
 import Data.ByteString         (ByteString)
 import Pipes                   (Pipe, MonadIO, await, yield, liftIO)
 
@@ -23,7 +24,6 @@
 import Crypto.Noise.DH         (DH)
 import Crypto.Noise.Hash       (Hash)
 import Crypto.Noise
-import Data.ByteArray.Extend
 
 -- | Pipe used for inbound Noise messages.
 type InboundNoisePipe  = Pipe ByteString ScrubbedBytes
