anchor.diff:  -include_lib("eunit/include/eunit.hrl").
   -endif.
   
  +-type riakc_obj() :: #riakc_obj{}.
   -type bucket() :: binary().
   -type key() :: binary() | 'undefined'.
   -type vclock() :: binary().
  
positive.code:     end.
  
  %% @doc  Set the vector clock of an object
  -spec set_vclock(#riakc_obj{}, vclock()) -> #riakc_obj{}.
  set_vclock(Object=#riakc_obj{}, Vclock) ->
      Object#riakc_obj{vclock=Vclock}.
  
  %% @doc  INTERNAL USE ONLY.  Set the contents of riak_object to the
  %%       {Metadata, Value} pairs in MVs. Normal clients should use the
  %%       set_update_[value|metadata]() + apply_updates() method for changing
  %%       object contents.
  %% @private
  -spec new_obj(bucket(), key(), vclock(), contents()) -> #riakc_obj{}.
  new_obj(Bucket, Key, Vclock, Contents) ->
      #riakc_obj{bucket = Bucket, key = Key, vclock = Vclock, contents = Contents}.
  
  
negative.code:     end.
  
  %% @doc  Return a list of object values for this riakc_obj.
  -spec get_values(Object::riakc_obj()) -> [value()].
  get_values(#riakc_obj{contents=Contents}) ->
      [V || {_,V} <- Contents].
  
  %% @doc  Set the updated metadata of an object to M.
  -spec update_metadata(riakc_obj(), metadata()) -> riakc_obj().
  update_metadata(Object=#riakc_obj{}, M) ->
      Object#riakc_obj{updatemetadata=M}.
  
  %% @doc  Set the updated content-type of an object to CT.
  -spec update_content_type(riakc_obj(),content_type()|binary()) -> riakc_obj().
  update_content_type(Object=#riakc_obj{}, CT) when is_binary(CT) ->
      update_content_type(Object, binary_to_list(CT));
  update_content_type(Object=#riakc_obj{}, CT) when is_list(CT) ->
  