anchor.diff:  
       NewEntry = learner_add_vote(Entry, ProposerId, ProposalNumber),
       VoteCount = learner_votes(NewEntry, ProposerId, ProposalNumber),
  -    %ct:pal("~p", [[VoteCount, NewEntry]]),
       Learnt = learner_learnt(NewEntry),
       NewEntry2 =
           case replication:quorum_accepted(VoteCount) andalso
  
positive.code: learner_votes(Entry, Proposer, ProposalNumber) ->
      Votes = element(4, Entry),
      Key = {Proposer, ProposalNumber},
      %ct:pal("~p", [Votes]),
      case lists:keyfind(Key, 1, Votes) of
          false -> 0;
          E -> element(2, E)
  
negative.code:     BufVal = entry_bufval(Entry),
      NewPropVal = DataType:merge(PropVal, BufVal),
      case entry_status(Entry) =:= passive
          andalso (ForceProposal orelse %% read requests do not change lattice value
                   entry_clients(Entry) =/= [] orelse %% there might be an open read request
                   DataType:lt(PropVal, NewPropVal)) of
          true ->
              NewPropNum = entry_propnum(Entry) + 1,
              NewEntry1 = entry_set_ackcount(Entry, 0),
  