anchor.diff:      case Dependent of
           true -> true;
           false ->
  -            case Swap of
  -                true -> dependent(Trans2, Trans1, ChkMsg, false);
  +            case AllowSwap of
  +                true -> dependent(Trans2, Trans1, CheckMsg, ?DONT_ALLOW_SWAP);
                   false -> false
               end
       end;
  
positive.code:             _ -> false
          end,
      case Check of
          false -> dependent(Trans1, Trans2, false, true);
          {Msgs1, Msgs2} ->
              Lids1 = ordsets:from_list(orddict:fetch_keys(Msgs1)),
              Lids2 = ordsets:from_list(orddict:fetch_keys(Msgs2)),
              case ordsets:intersection(Lids1, Lids2) of
                  [] -> dependent(Trans1, Trans2, false, true);
                  [Key] ->
                      case {orddict:fetch(Key, Msgs1), orddict:fetch(Key, Msgs2)} of
                          {[V1], [V2]} ->
                              LockReleaseAtom = lock_release_atom(),
                              V1 =/= LockReleaseAtom andalso V2 =/= LockReleaseAtom;
                          _Else -> true
                      end;
                  _ -> true
              end
      end;
  
  
negative.code: %% ETS operations live in their own small world.
  dependent({_Lid1, {ets, Op1}, _Msgs1},
            {_Lid2, {ets, Op2}, _Msgs2},
            _CheckMsg, ?SYMMETRIC) ->
      dependent_ets(Op1, Op2);
  
  %% Registering a table with the same name as an existing one.
  dependent({_Lid1, { ets, {   new,           [_Table, Name, Options]}}, _Msgs1},
            {_Lid2, {exit, {normal, {{_Heirs, Tables}, _Name, _Links}}}, _Msgs2},
            _CheckMsg, _AllowSwap) ->
      NamedTables = [N || {_Lid, {ok, N}} <- Tables],
      lists:member(named_table, Options) andalso
          lists:member(Name, NamedTables);
  