anchor.diff:  master_moves(Bucket, EvacuateNodes, Map, Histograms) ->
       master_moves(Bucket, EvacuateNodes, Map, Histograms, 0, []).
   
  +%% calculates list of moves necessary to replaces missing or
  +%% to-be-evacuated masters. Utililizes first item of Histograms (that
  +%% represents utilization of turn 0 i.e. masters) to pick least
  +%% utilized nodes for new masters.
   -spec master_moves(string(), [atom()], map(), [histogram()], non_neg_integer(),
                      moves()) -> moves().
   master_moves(_, _, [], _, _, Moves) ->
  
positive.code:     ns_bucket:set_map(Bucket, Map1).
  
  
  histograms(Map, Servers) ->
      Histograms = [lists:keydelete(
                      undefined, 1,
  
negative.code:     NewChain = misc:nthreplace(I, New, Chain),
      apply_moves(I, Tail, misc:nthreplace(V+1, NewChain, Map)).
  
  %% picks least utilized node from given Histogram thats not in list of
  %% AvoidNodes
  assign(Histogram, AvoidNodes) ->
      Histogram1 = lists:keysort(2, Histogram),
      case lists:splitwith(fun ({N, _}) -> lists:member(N, AvoidNodes) end,
  