anchor.diff:  
        %% Send omission failures.
        {call, ?MODULE, begin_send_omission, [node_name(), node_name()]},
  -     {call, ?MODULE, end_send_omission, [node_name(), node_name()]}
  +     {call, ?MODULE, end_send_omission, [node_name(), node_name()]},
  +
  +     %% Receive omission failures.
  +     {call, ?MODULE, begin_receive_omission, [node_name(), node_name()]},
  +     {call, ?MODULE, end_receive_omission, [node_name(), node_name()]}
       ].
   
   %% Names of the node functions so we kow when we can dispatch to the node
  
positive.code:     lists:member(Name, CrashedNodes).
  
  %% Is this fault allowed?
  fault_allowed({call, _Mod, begin_send_omission, _Args}, #fault_model_state{active_faults=ActiveFaults}) ->
      Tolerance = ?NUM_NODES - 1,       %% Assumed N+1 fault-tolerance.
      ActiveFaults =< Tolerance;        %% We can tolerate another failure.
  
  fault_allowed({call, _Mod, crash, [Node]}, #fault_model_state{active_faults=ActiveFaults, crashed_nodes=CrashedNodes}) ->
      Tolerance = ?NUM_NODES - 1,       %% Assumed N+1 fault-tolerance.
      ActiveFaults =< Tolerance orelse  %% We can tolerate another failure.
  
      %% or, a send omission can be turned into a crash.
      (ActiveFaults =:= Tolerance andalso lists:member(Node, CrashedNodes)).
  
  %% Should we do node debugging?
  fault_debug(Line, Args) ->
  
negative.code: 
  -record(fault_model_state, {active_faults,
                              crashed_nodes,
                              send_omissions,
                              receive_omissions}).
  
  fault_commands() ->
      [
  