anchor.diff:      UpFun =
           fun (#node_state{state = removed}, Acc) -> Acc;
               (NodeState, Acc) ->
  +                case NodeState#node_state.state of
  +                    up -> ok;
  +                    Prev ->
  +                        ?log_debug("Transitioned node ~p state ~p -> up", [NodeState#node_state.name, Prev])
  +                end,
                   [NodeState#node_state{state = up,
                                         down_counter = 0,
                                         mailed_down_warning = false}
  
positive.code:                                                 _ -> State#state.mailed_too_small_cluster
                                              end
                  },
      {Actions, NewState}.
  
  
  
negative.code:     DownFun =
          fun (#node_state{state = removed}, Acc) -> Acc;
              (NodeState, Acc) ->
                  NewState = increment_down_state(NodeState, DownNodes, State, SizeChanged),
                  ?log_debug("Incremented down state:~n~p~n->~p", [NodeState, NewState]),
                  [NewState | Acc]
          end,
      DownStates0 = fold_matching_nodes(DownNodes, State#state.nodes_states, DownFun, []),
      DownStates = lists:reverse(DownStates0),
  