anchor.diff:  delete(Key, {_, _, 0, _, _, nil}) ->
       erlang:error({key_not_found, Key});
   % Root node is leaf node.
  -delete(Key, {SubtreeNoMin, KeyNoMax, NumberKeyValues, SortFunction, State, {KeyNo, 0, KeyValues, []}}) ->
  +delete(Key, {SubtreeNoMin, KeyNoMax, SizeKeyValues, SortFunction, State, {KeyNo, 0, KeyValues, []}}) ->
       {ValueFound, KeyPos} = binary_search(Key, KeyValues, KeyNo, 1, KeyNo, SortFunction),
       case ValueFound of
           none ->
               erlang:error({key_not_found, Key});
           _ ->
  -            {SubtreeNoMin, KeyNoMax, NumberKeyValues - 1, SortFunction, State, case KeyNo == 1 of
  -                                                                                   true ->
  -                                                                                       nil;
  -                                                                                   _ ->
  -                                                                                       {
  -                                                                                           KeyNo - 1,
  -                                                                                           0,
  -                                                                                               lists:sublist(KeyValues, 1, KeyPos - 1) ++ lists:sublist(KeyValues, KeyPos + 1, KeyNo),
  -                                                                                           []
  -                                                                                       }
  -                                                                               end}
  +            {SubtreeNoMin, KeyNoMax, SizeKeyValues - 1, SortFunction, State, case KeyNo == 1 of
  +                                                                                 true ->
  +                                                                                     nil;
  +                                                                                 _ ->
  +                                                                                     {
  +                                                                                         KeyNo - 1,
  +                                                                                         0,
  +                                                                                             lists:sublist(KeyValues, 1, KeyPos - 1) ++ lists:sublist(KeyValues, KeyPos + 1, KeyNo),
  +                                                                                         []
  +                                                                                     }
  +                                                                             end}
       end;
  -delete(Key, {SubtreeNoMin, KeyNoMax, NumberKeyValues, SortFunction, State, Tree}) ->
  -    {SubtreeNoMin, KeyNoMax, NumberKeyValues - 1, SortFunction, State, delete_1(Key, Tree, SubtreeNoMin, KeyNoMax, SortFunction, State)}.
  +delete(Key, {SubtreeNoMin, KeyNoMax, SizeKeyValues, SortFunction, State, Tree}) ->
  +    {SubtreeNoMin, KeyNoMax, SizeKeyValues - 1, SortFunction, State, delete_1(Key, Tree, SubtreeNoMin, KeyNoMax, SortFunction, State)}.
   
   -spec combine(tree(), tree(), state()) -> tree().
   
  
positive.code: 
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% Data structure:
  %% - {MinimumSubtrees, MaximumKeys, NumberKeyValues, SortFunction, State, Tree},
  %%   where `Tree' is composed of :
  %%   - {KeyNo, SubtreeNo, [{Key, Value}], [Tree]}.
  
  
negative.code: insert(Key, Value, {SubtreeNoMin, KeyNoMax, 0, SortFunction, State, nil}) ->
      {SubtreeNoMin, KeyNoMax, 1, SortFunction, State, {1, 0, [{Key, Value}], []}};
  % Split root node.
  insert(Key, Value, {SubtreeNoMin, KeyNoMax, SizeKeyValues, SortFunction, State, {KeyNo, _, _, _} = Tree}) when KeyNo == KeyNoMax ->
      {SubtreeNoMin, KeyNoMax, SizeKeyValues + 1, SortFunction, State, insert_1({Key, Value}, split_node_root(Tree, SubtreeNoMin, State), SubtreeNoMin, KeyNoMax, SortFunction, State)};
  % Normal.
  insert(Key, Value, {SubtreeNoMin, KeyNoMax, SizeKeyValues, SortFunction, State, Tree}) ->
      {SubtreeNoMin, KeyNoMax, SizeKeyValues + 1, SortFunction, State, insert_1({Key, Value}, Tree, SubtreeNoMin, KeyNoMax, SortFunction, State)}.
  
  -spec insert_1(key_value(), tree(), pos_integer(), pos_integer(), sort_function(), state()) -> tree().
  
  