anchor.diff:  %%====================================================================
   
   transform_partitions(Partitions) ->
  -  lists:map(fun([Node,Parts]) -> 
  -      {obj, [
  +  {array, lists:map(fun([Node,Parts]) -> 
  +      {struct, [
           {name, Node},
  -        {partitions, Parts},
  -        {replicas, membership:replica_nodes(Node)}
  +        {partitions, {array, Parts}},
  +        {replicas, {array, membership:replica_nodes(Node)}}
         ]}
  -    end, transform_partitions([], Partitions)).
  +    end, transform_partitions([], Partitions))}.
   
   transform_partitions([], [{Node,Part}|Parts]) ->
     transform_partitions([[Node,[Part]]], Parts);
  
positive.code:   
  syncs_running(cluster) ->
    {Good,_} = rpc:multicall(sync_manager, running, []),
    lists:map(fun({Part, NodeA, NodeB}) -> 
        {obj, [{partition, Part}, {nodes, [NodeA, NodeB]}]}
      end, lists:flatten(Good));
    
  syncs_running(Node) ->
    lists:map(fun({Part, NodeA, NodeB}) -> 
        {obj, [{partition, Part}, {nodes, [NodeA, NodeB]}]}
      end, sync_manager:running(Node)).
  
  diff_size(cluster) ->
    {Good,_} = rpc:multicall(sync_manager, diffs, []),
    {obj,
        lists:map(fun({Part, Diffs}) ->
            {integer_to_list(Part), {obj, Diffs}}
          end, lists:flatten(Good))
      }.
  
  
negative.code:   ]};
  
  rates(nodes) ->
    {array, lists:map(fun(Node) -> rates(Node) end, membership:nodes())};
  
  rates(Node) ->
    {struct, [
      {name, Node},
      {get_rate, stats_server:rate(Node, get_rate, 1)},
      {put_rate, stats_server:rate(Node, put_rate, 1)},
  