pcfbDecipherWord8 :: PCFB s -> Word8 -> ST s Word8
pcfbDecipherWord8 pc@(MkPCFB _ f i) x = do
   pcfbRefill pc
   fpos <- readSTRef i
   ff <- UMV.read f fpos
   UMV.write f fpos x
   modifySTRef i (+1)
   return $! x `xor` ff
pcfbDecipherWord8 :: PCFB s -> Word8 -> ST s Word8
pcfbDecipherWord8 pc@(MkPCFB _ f i) x = do
   pcfbRefill pc
   fpos <- readSTRef i
   ff <- UMV.read f fpos
   UMV.write f fpos x
   modifySTRef i (+1)
   return $! x `xor` ff
pcfbDecipherWord8 pc@(MkPCFB _ f i) x = do
   pcfbRefill pc
   fpos <- readSTRef i
   ff <- UMV.read f fpos
   UMV.write f fpos x
   modifySTRef i (+1)
   return $! x `xor` ff