anchor.diff:      %   proposals =
       %   gb_trees:delete_any(PaxosId, GroupState#group_state.proposals)}.
   
  --spec get_proposal(group_state(), group_types:paxos_id()) -> {value, group_types:proposal()} | none.
  +-spec get_proposal(group_state(), group_types:paxos_id()) ->
  +    {value, group_types:proposal()} | none.
   get_proposal(GroupState, PaxosId) ->
       gb_trees:lookup(PaxosId, GroupState#group_state.proposals).
   
  
positive.code:       gb_trees:insert(PaxosId, Proposal,
                        GroupState#group_state.proposals)}.
  
  -spec postpone_decision(group_state(), group_types:paxos_id(), group_types:proposal()) -> group_state().
  postpone_decision(#group_state{postponed_decisions = PostPonedDecisions} = GroupState, PaxosId, Proposal) ->
      GroupState#group_state{postponed_decisions = gb_sets:add({PaxosId, Proposal},
                                                               PostPonedDecisions)}.
  
negative.code:     {GroupId, CurrentPaxosVersion}.
  
  % @doc update state to reflect new proposal
  -spec made_proposal(group_state(), group_types:paxos_id(),
                      group_types:proposal()) -> group_state().
  made_proposal(#group_state{group_id=GroupId,
                             current_paxos_version=CurrentPaxosVersion}
                = GroupState,
  