diff --git a/Crypto/Classes.hs b/Crypto/Classes.hs
--- a/Crypto/Classes.hs
+++ b/Crypto/Classes.hs
@@ -23,12 +23,16 @@
         , blockSizeBytes
         , keyLengthBytes
         , buildKeyIO
+        , buildKeyGen
         , StreamCipher(..)
         , buildStreamKeyIO
+        , buildStreamKeyGen
         , AsymCipher(..)
         , buildKeyPairIO
+        , buildKeyPairGen
         , Signing(..)
         , buildSigningKeyPairIO
+        , buildSigningKeyPairGen
         -- * Misc helper functions
         , encode
         , incIV
diff --git a/Crypto/Modes.hs b/Crypto/Modes.hs
--- a/Crypto/Modes.hs
+++ b/Crypto/Modes.hs
@@ -541,10 +541,10 @@
 {-# INLINEABLE getIVIO #-}
 
 ivProxy :: Proxy k -> Proxy (IV k)
-ivProxy = reproxy
+ivProxy = const Proxy
 
 deIVProxy :: Proxy (IV k) -> Proxy k
-deIVProxy = reproxy
+deIVProxy = const Proxy
 
 proxyOf :: a -> Proxy a
 proxyOf = const Proxy
diff --git a/Crypto/Util.hs b/Crypto/Util.hs
--- a/Crypto/Util.hs
+++ b/Crypto/Util.hs
@@ -79,8 +79,10 @@
 {-# INLINE bs2i #-}
 
 -- |zipWith xor + Pack
--- As a result of rewrite rules, this should automatically be optimized (at compile time).
--- to use the bytestring libraries 'zipWith'' function.
+-- As a result of rewrite rules, this should automatically be
+-- optimized (at compile time). to use the bytestring libraries
+-- 'zipWith'' function.
+zwp' :: B.ByteString -> B.ByteString -> B.ByteString
 zwp' a = B.pack . B.zipWith xor a
 {-# INLINE zwp' #-}
 
diff --git a/crypto-api.cabal b/crypto-api.cabal
--- a/crypto-api.cabal
+++ b/crypto-api.cabal
@@ -1,5 +1,5 @@
 name:           crypto-api
-version:        0.12.2.1
+version:        0.12.2.2
 license:        BSD3
 license-file:   LICENSE
 copyright:      Thomas DuBuisson <thomas.dubuisson@gmail.com>
