anchor.diff:      case Choices of
           [] ->
               undefined;
  -        [{Leader, _Count}|_] ->
  +        [{{_, Leader}, _Count}|_] ->
               %% io:format("----~n~p~n~p~n-----~n", [Replies, Leader]),
               Leader
       end;
  -existing_leader(_Replies, #fact{leader=Leader}) ->
  -    Leader.
  +existing_leader(_Replies, Abandoned, #fact{epoch=Epoch, seq=Seq, leader=Leader}) ->
  +    case {Epoch, Seq} > Abandoned of
  +        true ->
  +            Leader;
  +        false ->
  +            undefined
  +    end.
   
   -spec compute_members([[any()]]) -> [any()].
   compute_members(Views) ->
  
positive.code:     set_timer(?ENSEMBLE_TICK*2, follower_timeout, State).
  
  -spec following(_, state()) -> next_state().
  following(init, State) ->
      ?OUT("~p: Following: ~p~n", [State#state.id, leader(State)]),
      State2 = State#state{ready=false},
      State3 = reset_follower_timer(State2),
      {next_state, following, State3};
  following({commit, Fact, From}, State) ->
      State3 = case Fact#fact.epoch >= epoch(State) of
                   true ->
  
negative.code:     _ = cancel_timer(State),
      reset_workers(State),
      ok.
  
  abandon(State) ->
      Abandoned = {epoch(State), seq(State)},
      State2 = set_leader(undefined, State#state{abandoned=Abandoned}),
      probe(init, State2).
  
  %%%===================================================================
  
  