anchor.diff:  -type decrement_op() :: decrement | {decrement, pos_integer()}.
   -type pncounter_q()  :: positive | negative.
   
  --type v1_pncounter() :: {riak_dt_gcounter:gcounter(),riak_dt_gcounter:gcounter()}.
  +-type v1_pncounter() :: {riak_dt_gcounter:gcounter(), riak_dt_gcounter:gcounter()}.
   -type version()      :: integer().
   -type any_pncounter() :: pncounter() | v1_pncounter().
   
  
positive.code: 
  % This is kinda important, I should probably do more about this test.
  update_bin_test() ->
      OldPNCnt = {[{a,1}],[{b,3}]},
      {ok, OldPNBin} = to_binary(?V1_VERS, OldPNCnt),
      {ok, NewPNCnt} = from_binary(OldPNBin),
      ?assertEqual([{b,0,3},{a,1,0}], NewPNCnt).
  
  query_test() ->
      PN = new(),
  
negative.code:     {ok, PNCnt3_2} = update(increment, a1, PNCnt3_1),
      {ok, PNCnt3_3} = update({decrement, 2}, a5, PNCnt3_2),
      {ok, PNCnt2_3} = update(decrement, a2, PNCnt2_2),
      ?assertEqual([{a5, 0, 2},
                    {a1, 3, 0},
                    {a4, 1, 0},
                    {a2, 1, 1},
                    {a3, 3, 0}], merge(PNCnt3_3, PNCnt2_3)).
  
  roundtrip_bin_test() ->
      PN = new(),
  