anchor.diff:  %%     (K1 < BaseKey andalso K2 < BaseKey andalso K1 =< K2) orelse
   %%     (K1 > BaseKey andalso K2 < BaseKey) orelse
   %%     (K1 =:= BaseKey).
  -    % (slightly) faster version: 
  +    % (slightly) faster version:
       (K1 =:= BaseKey) orelse
       (K1 > BaseKey andalso K2 < BaseKey) orelse
       (K1 =< K2 andalso (not (K1 < BaseKey andalso K2 > BaseKey))).
  
positive.code:                                           end
                                    end,
                                    0, NodeList),
      % then collect matching nodes and as many unmatching nodes as needed to 
      % have a result of at least MinLength elements
      % -> beware not to destroy the order of the list!
      UnsatisfyingNodesToAdd = MinLength - SatisfyingCount,
      NewNodeList = 
          case UnsatisfyingNodesToAdd =< 0 of
              true -> [Node || Node <- NodeList, FilterFun(Node)];
              false ->
  
negative.code:     EtsInsertNewerNodeFun = fun(N) -> ets_insert_newer_node(L1L2Tab, N) end,
      _ = lists:map(EtsInsertNewerNodeFun, L1),
      _ = lists:map(EtsInsertNewerNodeFun, L2),
  
      GetNewNode = fun(Node) -> ets:lookup_element(L1L2Tab, node:pidX(Node), 2) end,
      L1Upd = lists:map(GetNewNode, L1),
      L2Upd = lists:map(GetNewNode, L2),
  