anchor.diff:  
   -spec do_encode_vclock(atom(), VClock :: base64:ascii_string() | base64:ascii_binary()) -> base64:ascii_binary().
   do_encode_vclock(Method, VClock) ->
  -    EncodedVClock = case Method of
  -                        encode_zlib -> zlib:zip(VClock);
  -                        encode_raw  -> VClock
  -                    end,
  -
  +    case Method of
  +        encode_raw  -> return_encoded_vclock(Method, VClock);
  +
  +        %% zlib legacy support: we don't return standard encoding with metadata:
  +        encode_zlib -> base64:encode(term_to_binary(zlib:zip(VClock)))
  +    end.
  +
  +%% Return a vclock in a consistent format:
  +return_encoded_vclock(Method, EncodedVClock) ->
       %% Note that base64:encode() operates on an ASCII string:
       base64:encode(term_to_binary({ Method, EncodedVClock })).
   
   -spec decode_vclock({ atom(), VClock :: base64:ascii_string() | base64:ascii_binary() }) -> vclock:vclock().
   decode_vclock(EncodedVClock) ->
  -
  -    VClockTerm = base64:decode(EncodedVClock),
  -
  -    try binary_to_term(VClockTerm) of
  +    VClockCandidateTerm = base64:decode(EncodedVClock),
  +
  +    try binary_to_term(EncodedVClock) of
           { Method, VClock }  -> do_decode_vclock(Method, VClock)
   
  -    %% Fall back to legacy zlib decoding:
  -    catch
  -        _                   ->  
  -                               do_decode_vclock(encode_zlib, VClockTerm)
  +    %% A single term means we have a legacy zlib vclock:
  +    catch 
  +        _:_                 -> do_decode_vclock(encode_zlib, binary_to_term(VClockCandidateTerm))
       end.
   
   %% Decode a vclock against our capability settings:
  
positive.code:         encode_zlib -> zlib:unzip(VClock);
          encode_raw  -> VClock;
  
          _           -> lager:error("Bad vclock encoding ~p", [Method]),
                         throw(bad_vclock_encoding_method)
      end.
  
  
negative.code: 
  %% @doc  Increment the entry for ClientId in O's vclock.
  -spec increment_vclock(riak_object(), vclock:vclock_node()) -> riak_object().
  %% @spec increment_vclock(riak_object(), vclock:vclock_node()) -> riak_object()
  increment_vclock(Object=#r_object{}, ClientId) ->
      Object#r_object{vclock=vclock:increment(ClientId, Object#r_object.vclock)}.
  
  