setAddReplace :: IO a -> Failure a -> OpCode -> CAS
              -> Key -> Value -> Flags -> Expiry -> Handle -> IO a
setAddReplace success failure o cas key value flags expiry = withRequest o key
        8 (\p -> pokeWord32be p flags >> pokeWord32be (plusPtr p 4) expiry) 
        (fromIntegral $ L.length value) (flip pokeLazyByteString value) cas (\_ _ -> success) failure
setAddReplace :: IO a -> Failure a -> OpCode -> CAS
              -> Key -> Value -> Flags -> Expiry -> Handle -> IO a
setAddReplace success failure o cas key value flags expiry = withRequest o key
        8 (\p -> pokeWord32be p flags >> pokeWord32be (plusPtr p 4) expiry) 
        (fromIntegral $ L.length value) (flip pokeLazyByteString value) cas (\_ _ -> success) failure
setAddReplace success failure o cas key value flags expiry = withRequest o key
        8 (\p -> pokeWord32be p flags >> pokeWord32be (plusPtr p 4) expiry) 
        (fromIntegral $ L.length value) (flip pokeLazyByteString value) cas (\_ _ -> success) failure