anchor.diff:          %% A40a (see flowchart)
           Rank_newprop > Rank_latest ->
               put(react, [{a40, ?LINE}|get(react)]),
  -?D({a40,?LINE}),
               react_to_env_C300(P_newprop, P_latest, S);
   
           %% A40b (see flowchart)
  
positive.code:             ok
      end,
  
      %% Proj = S#ch_mgr.proj, if Proj#projection.epoch_number >= 7 -> ?Dw({Rank_newprop,Rank_latest}); true -> ok end,
  
      if
          P_latest#projection.epoch_number > P_current#projection.epoch_number
          orelse
          not LatestUnanimousP ->
              put(react, [{a40, ?LINE, P_latest#projection.epoch_number > P_current#projection.epoch_number, not LatestUnanimousP}|get(react)]),
  
  ?D({a40,?LINE}),
  ?D(P_latest#projection.epoch_number),
  ?D(P_current#projection.epoch_number),
  ?D(LatestUnanimousP),
  
              %% 1st clause: someone else has written a newer projection
              %% 2nd clause: a network partition has healed, revealing a
              %%             differing opinion.
  
negative.code:                 [Node || Node <- AllMembers,
                           not lists:member({MyName, Node}, Partitions2),
                           not lists:member({Node, MyName}, Partitions2)]),
      %% UpViaIslands = lists:sort(lists:flatten([Island ||
      %%                                             Island <- _Islands,
      %%                                             lists:member(MyName, Island)])),
      %% try
      %%     case get(hack_island) of
      %%         undefined ->
      %%             ok;
      %%         _ ->
      %%             UpNodes = UpViaIslands
      %%     end
      %% catch _:_ ->
      %%         exit({damn, MyName, UpNodes, Partitions2, _Islands})
      %% end,
      RunEnv2 = replace(RunEnv1,
                        [%% {seed, Seed2},
                         {network_partitions, Partitions2},
  