anchor.diff:  
   cmd_binary_vocal(Opcode, Sock, RecvCallback, {Header, Entry}) ->
       ok = send(Sock, req,
  -              Header#mc_header{opcode = Opcode},
  -              Entry#mc_entry{ext = ext(Opcode, Entry)}),
  +              Header#mc_header{opcode = Opcode}, ext(Opcode, Entry)),
       cmd_binary_vocal_recv(Opcode, Sock, RecvCallback).
   
   cmd_binary_vocal_recv(Opcode, Sock, RecvCallback) ->
  
positive.code: ext(?INCREMENTQ, Entry) -> ext_arith(Entry);
  ext(?DECREMENT,  Entry) -> ext_arith(Entry);
  ext(?DECREMENTQ, Entry) -> ext_arith(Entry);
  ext(_, _) -> undefined.
  
  ext_flag_expire(#mc_entry{flag = Flag, expire = Expire}) ->
      <<Flag:32, Expire:32>>.
  
  ext_arith(#mc_entry{ext = Ext, data = Data, expire = Expire}) ->
      case Ext of
          undefined ->
              case Data of
                  <<>>      -> <<0:64, 0:64, Expire:32>>;
                  undefined -> <<0:64, 0:64, Expire:32>>;
                  _         -> <<Data:64, 0:64, Expire:32>>
              end;
          _ -> Ext
      end.
  
  % -------------------------------------------------
  
negative.code:     ?assert(H#mc_header.status =/= ?SUCCESS),
      ok = gen_tcp:close(Sock).
  
  arith_test() ->
      {ok, Sock} = gen_tcp:connect("localhost", 11211,
                                   [binary, {packet, 0}, {active, false}]),
      flush_test_sock(Sock),
      Key = <<"a">>,
      (fun () ->
          {ok, _H, _E} = cmd(?SET, Sock, undefined,
                             {#mc_header{},
                              #mc_entry{key = Key, data = <<"1">>}}),
          get_test_match(Sock, Key, <<"1">>),
          ok
      end)(),
      (fun () ->
          {ok, _H, _E} = cmd(?INCREMENT, Sock, undefined,
                             {#mc_header{},
                              #mc_entry{key = Key, data = 1}}),
          get_test_match(Sock, Key, <<"2">>),
          ok
      end)(),
      (fun () ->
          {ok, _H, _E} = cmd(?INCREMENT, Sock, undefined,
                             {#mc_header{},
                              #mc_entry{key = Key, data = 1}}),
          get_test_match(Sock, Key, <<"3">>),
          ok
      end)(),
      (fun () ->
          {ok, _H, _E} = cmd(?INCREMENT, Sock, undefined,
                             {#mc_header{},
                              #mc_entry{key = Key, data = 10}}),
          get_test_match(Sock, Key, <<"13">>),
          ok
      end)(),
      (fun () ->
          {ok, _H, _E} = cmd(?DECREMENT, Sock, undefined,
                             {#mc_header{},
                              #mc_entry{key = Key, data = 1}}),
          get_test_match(Sock, Key, <<"12">>),
          ok
      end)(),
      ok = gen_tcp:close(Sock).
  
  stats_test() ->
      {ok, Sock} = gen_tcp:connect("localhost", 11211,
                                   [binary, {packet, 0}, {active, false}]),
  