anchor.diff:      MDList2 = vtag_meta(VTag, MDList1),
       MDList = meta_of_binary(MetaRestBin, MDList2),
       MD = dict:from_list(MDList),
  -    {#r_content{metadata=MD, value=decode(ValBin, Enc)}, Rest}.
  +    {#r_content{metadata=MD, value=decode_maybe_binary(ValBin)}, Rest}.
   
   deleted_meta(<<1>>, MDList) ->
       [{?MD_DELETED, "true"} | MDList];
  
positive.code: -spec from_binary(bucket(),key(),binary(),encoding()) ->
      riak_object() | {error, 'bad_object_format'}.
  
  from_binary(B,K,Obj) ->
      from_binary(B,K,Obj,erlang).
  from_binary(_B,_K,<<131, _Rest/binary>>=ObjTerm, _) ->
      binary_to_term(ObjTerm);
  from_binary(B,K,<<?MAGIC:8/integer, 1:8/integer, Rest/binary>>=_ObjBin,Enc) ->
      %% Version 1 of binary riak object
      case Rest of
          <<VclockLen:32/integer, VclockBin:VclockLen/binary, SibCount:32/integer, SibsBin/binary>> ->
              Vclock = binary_to_term(VclockBin),
              Contents = sibs_of_binary(SibCount, SibsBin, Enc),
              #r_object{bucket=B,key=K,contents=Contents,vclock=Vclock};
          _Other ->
              {error, bad_object_format}
      end;
  from_binary(_B, _K, Obj = #r_object{}, _) ->
      Obj.
  
  sibs_of_binary(Count,SibsBin,Enc) ->
      sibs_of_binary(Count, SibsBin, [], Enc).
  
  sibs_of_binary(0, <<>>, Result, _) -> lists:reverse(Result);
  sibs_of_binary(0, _NotEmpty, _Result, _) ->
      {error, corrupt_contents};
  sibs_of_binary(Count, SibsBin, Result, Enc) ->
      {Sib, SibsRest} = sib_of_binary(SibsBin, Enc),
      sibs_of_binary(Count-1, SibsRest, [Sib | Result], Enc).
  
  sib_of_binary(<<ValLen:32/integer, ValBin:ValLen/binary, MetaLen:32/integer, MetaBin:MetaLen/binary, Rest/binary>>, Enc) ->
      <<LMMega:32/integer, LMSecs:32/integer, LMMicro:32/integer, VTagLen:8/integer, VTag:VTagLen/binary, Deleted:1/binary-unit:8, MetaRestBin/binary>> = MetaBin,
  
      MDList0 = deleted_meta(Deleted, []),
  
negative.code: -define(MAGIC, 53).      %% Magic number, as opposed to 131 for Erlang term-to-binary magic
                           %% Shanley's(11) + Joe's(42)
  -define(EMPTY_VTAG_BIN, <<"e">>).
  -define(MSGPACK_MAGIC, 2). %% Magic number for msgpack encoding
  
  -export([new/3, new/4, ensure_robject/1, ancestors/1, reconcile/2, equal/2]).
  -export([increment_vclock/2, increment_vclock/3, prune_vclock/3, vclock_descends/2, all_actors/1]).
  