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:          new_neighborhood/1, new_neighborhood/2, new_neighborhood/3,
           mk_neighborhood/2, mk_neighborhood/4,
           mk_nodelist/2,
           
           % getters:
           node/1, nodeid/1, pred/1, preds/1, succ/1, succs/1,
           node_range/1, succ_range/1,
           has_real_pred/1, has_real_succ/1,
           
           % modifiers:
           trunc/3, trunc_preds/2, trunc_succs/2,
           remove/2, remove/3, filter/2, filter/3,
           lremove/2, lremove/3,lfilter/2, lfilter/3,
           lfilter_min_length/3, filter_min_length/4,
           merge/4, add_node/4, add_nodes/4,
           
           update_node/2, % update base node
           update_ids/2, % update node ids
           
           % converters:
           to_list/1,
           
           % miscellaneous:
           succ_ord_node/2, succ_ord_id/2,
           succ_ord_node/3, succ_ord_id/3,
  
negative.code:     ensure_lists_not_empty(Preds, BaseNode, Succs).
  
  %% @doc Merges nodes of Neighbors2 into Neighbors1 and truncates the predecessor
  %%      and successor lists to the given sizes.
  -spec merge(Neighbors1::neighborhood(), Neighbors2::neighborhood(), PredsLength::pos_integer(),
              SuccsLength::pos_integer()) -> neighborhood().
  merge(Neighbors1, Neighbors2, PredsLength, SuccsLength) ->
  