mkPCFB
   :: RD.Key         -- ^ the underlying cipher to use
   -> B.ByteString   -- ^ the IV (initialization vector)
   -> ST s (PCFB s)
mkPCFB c iv
   | B.length iv /= 32 = error "mkPCFB: IV length must be 32"
   | otherwise = MkPCFB c <$> UV.thaw (bsToVec iv) <*> newSTRef 32
mkPCFB
   :: RD.Key         -- ^ the underlying cipher to use
   -> B.ByteString   -- ^ the IV (initialization vector)
   -> ST s (PCFB s)
mkPCFB c iv
   | B.length iv /= 32 = error "mkPCFB: IV length must be 32"
   | otherwise = MkPCFB c <$> UV.thaw (bsToVec iv) <*> newSTRef 32
mkPCFB c iv
   | B.length iv /= 32 = error "mkPCFB: IV length must be 32"
   | otherwise = MkPCFB c <$> UV.thaw (bsToVec iv) <*> newSTRef 32