pcfbRefill :: PCFB s -> ST s ()
pcfbRefill (MkPCFB c f i) = do
   pos <- readSTRef i
   when (UMV.length f == pos) $ do
      ff <- UV.freeze f
      fm' <- UV.thaw $ bsToVec $ RD.encipher c $ vecToBs ff
      UMV.copy f fm'
      writeSTRef i 0
pcfbRefill :: PCFB s -> ST s ()
pcfbRefill (MkPCFB c f i) = do
   pos <- readSTRef i
   when (UMV.length f == pos) $ do
      ff <- UV.freeze f
      fm' <- UV.thaw $ bsToVec $ RD.encipher c $ vecToBs ff
      UMV.copy f fm'
      writeSTRef i 0
pcfbRefill (MkPCFB c f i) = do
   pos <- readSTRef i
   when (UMV.length f == pos) $ do
      ff <- UV.freeze f
      fm' <- UV.thaw $ bsToVec $ RD.encipher c $ vecToBs ff
      UMV.copy f fm'
      writeSTRef i 0