anchor.diff:             P1, P2, RelativeToServer, RetrospectiveP) of
           true ->
               %% Must be a strictly increasing epoch.
  -            ?RETURN2(Epoch2 > Epoch1);
  +            case Epoch2 > Epoch1 of
  +                true ->
  +                    ?RETURN2(true);
  +                false ->
  +                    ?RETURN2({epoch_not_si, Epoch2, 'not_gt', Epoch1})
  +            end;
           Else ->
               ?RETURN2(Else)
       end.
  +
  +%% @doc Check if a projection transition is sane &amp; safe with the
  +%%      exception of a strictly increasing epoch number (equality is ok).
  +%%
  +%% NOTE: The return value convention is `true' for sane/safe and
  +%% `term() /= true' for any unsafe/insane value.
   
   projection_transition_is_sane_except_si_epoch(
     #projection_v1{epoch_number=Epoch1,
  
positive.code:     ?RETURN2(simple_chain_state_transition_is_sane(undefined, UPI1, Repair1,
                                                     undefined, UPI2)).
  
  simple_chain_state_transition_is_sane(_Author1, UPI1, Repair1, Author2, UPI2) ->
      {KeepsDels, Orders} = mk(UPI1, Repair1, UPI2),
      NumKeeps = length([x || keep <- KeepsDels]),
      NumOrders = length(Orders),
      Answer1 = false == lists:member(error, Orders)
                andalso Orders == lists:sort(Orders)
                andalso length(UPI2) == NumKeeps + NumOrders,
      catch (put(react, [{sane,author1,_Author1, upi1,UPI1, repair1,Repair1,
                          author2,Author2, upi2,UPI2,
                          keepsdels,KeepsDels, orders,Orders, numKeeps,NumKeeps,
                          numOrders,NumOrders, answer1,Answer1}|get(react)])),
      if not Answer1 ->
              ?RETURN2(Answer1);
         true ->
  
negative.code:                      {newprop_epoch,P_newprop#projection_v1.epoch_number},
                       {newprop_author,P_newprop#projection_v1.author_server}
                      ]}),
  
              react_to_env_C100(P_newprop, P_latest, S);
  
  