anchor.diff:                    {<<"data">>, D}|T], Accum) ->
       Converter = fun({Key, Val}) ->
                           case Key of
  -                            <<"Links">> ->
  +                            ?MD_LINKS ->
                                   {Key, [{{B, K}, Tag} || [B, K, Tag] <- Val]};
  -                            <<"X-Riak-Last-Modified">> ->
  +                            ?MD_LASTMOD ->
                                   {Key, os:timestamp()};
                               _ ->
                                   {Key, if
  
positive.code:     Classifier = fun({Key,_}, Type) when (is_binary(Key) orelse is_list(Key)),
                                           Type /= array, Type /= string ->
                           struct;
                      (C, Type) when is_integer(C), C >= 0, C =< 256,
                                     Type /= array, Type /= struct ->
                           string;
                      (_, _) ->
  
negative.code:               %% When the user metadata is empty, it should still be a struct
                ({?MD_USERMETA, []}) ->
                     {?MD_USERMETA, {struct, []}};
                ({?MD_LINKS, Links}) ->
                     {?MD_LINKS, [ [B, K, T] || {{B, K}, T} <- Links ]};
                ({Name, List=[_|_]}) ->
                     {Name, jsonify_metadata_list(List)};
                ({Name, Value}) ->
  