anchor.diff:  
   -spec lookup_1(key(), tree()) -> 'none' | {'value', value()}.
   
  -lookup_1(Key, {_, IsLeaf, KeyValues, ChildTrees}) ->
  -    {Value, Pos} = sequential_search(Key, KeyValues, 0),
  +lookup_1(Key, {KeyNo, IsLeaf, KeyValues, ChildTrees}) ->
  +    {Value, Pos} = search(Key, KeyValues, KeyNo),
       case Value == none of
           true ->
               case IsLeaf of
  
positive.code:                                                                                                        end
                                                                                                 end,
                                                                                    {KeyValuesSplit, TreesSplit} = split_tree_non_root(TreeUpper, KeyNoSplit, KeyValues, Trees, TreeUpperPos),
                                                                                    {none, TreeUpperPosSplit} = search(Key, KeyValuesSplit, length(KeyValuesSplit), ?BINARY_SEARCH_FROM_LENGTH),
                                                                                    {lists:nth(TreeUpperPosSplit, TreesSplit), KeyValuesSplit, TreesSplit, TreeUpperPosSplit};
                                                                                _ ->
                                                                                    {TreeUpper, KeyValues, Trees, TreeUpperPos}
  
negative.code: -spec update_1(key_value(), tree()) -> {tree(), boolean()}.
  
  update_1({Key, _} = KeyValue, {KeyNo, IsLeaf, KeyValues, Trees}) ->
      {ValueFound, KeyPos} = search(Key, KeyValues, KeyNo),
      case ValueFound of
          none ->
              case IsLeaf of
  