anchor.diff:  %            end
   %    end.
   
  --spec standard_check(prbr_bottom | lease_t(), lease_t(),
  -                     non_neg_integer(), non_neg_integer()) -> boolean().
  -standard_check(prbr_bottom, _, _, _) ->
  -    %% do not create leases from thin air. There are only two
  -    %% situations where a lease DB entry can be created:
  -    %% 1. when a first node starts a new Scalaris system
  -    %%    (this lease is directly put to the database)
  -    %% 2. when a split is performed (this has to use another check)
  -    false;
  -standard_check(Current, Next, CurrentEpoch, CurrentVersion) ->
  -%% this serializes all operations on leases
  -%% additional checks only for debugging the protocol and ensuring
  -%% valid maintenance of the lease data structure and state machine
  -
  -%% for serialization, we check whether epoch and version match
  -    (Current#lease.epoch == CurrentEpoch)
  -        andalso (Current#lease.version == CurrentVersion)
  -
  -%% normal operation incs version
  -        andalso ( ( (Current#lease.version+1 == Next#lease.version)
  -                    andalso (Current#lease.epoch == Next#lease.epoch))
  -%% reset version counter on epoch change
  -                  orelse ((0 == Next#lease.version)
  -                          andalso (Current#lease.epoch+1 == Next#lease.epoch))
  -                 )
  -%% debugging test
  -        andalso (Current#lease.id == Next#lease.id).
  -
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % util
  
positive.code:                    version = 0,
                     aux     = {invalid, merge, stopped},
                     timeout = new_timeout()},
      ContentCheck = is_valid_merge_step3(OldEpoch, OldVersion),
      DB = get_db_for_id(Id),
      Self = comm:reply_as(self(), 5, {l_on_cseq, merge_reply_step3, L2, ReplyTo, '_'}),
      rbrcseq:qwrite(DB, Self, Id,
  
negative.code:                     {true, null}
              end
      end.
  
  -spec is_valid_split_step1() ->
      fun ((any(), any(), any()) -> {boolean(), split_step1_failed_reason() | null}). %% content check
  