anchor.diff:  -spec insert_to_node(Key::mt_bucket_entry(), CheckKey::?RT:key(),
                        Node::mt_node(), Config::mt_config())
           -> NewNode::mt_node().
  -insert_to_node(Key, _CheckKey, {_H, Count, LeafCount, Bucket, Interval, []} = N, Config)
  +insert_to_node(Key, _CheckKey, {_H, Count, LeafCount = 1, Bucket, Interval, []} = N, Config)
     when Count >= 0 andalso Count < Config#mt_config.bucket_size ->
       case lists:member(Key, Bucket) of
           false -> {nil, Count + 1, LeafCount, [Key | Bucket], Interval, []};
           _     -> N
       end;
   
  -insert_to_node(Key, CheckKey, {_, BucketSize, LeafCount, Bucket, Interval, []},
  +insert_to_node(Key, CheckKey, {_, BucketSize, _LeafCount = 1, Bucket, Interval, []},
                  #mt_config{ branch_factor = BranchFactor,
                              bucket_size = BucketSize } = Config) ->
       % former leaf node which will become an inner node
       ChildI = intervals:split(Interval, BranchFactor),
  -    NewLeafs = [{nil, CX, -1, BX, IX, []}
  +    NewLeafs = [{nil, CX, 1, BX, IX, []}
                  || {IX, CX, BX} <- keys_to_intervals(Bucket, ChildI)],
  -    insert_to_node(Key, CheckKey, {nil, 1 + BranchFactor, LeafCount, [], Interval, NewLeafs}, Config);
  +    insert_to_node(Key, CheckKey, {nil, 1 + BranchFactor, length(NewLeafs), [], Interval, NewLeafs}, Config);
   
   insert_to_node(Key, CheckKey, {Hash, Count, LeafCount, [], Interval, Childs = [_|_]} = Node, Config) ->
       {Dest0, Rest} = lists:partition(fun({_H, _Cnt, _LCnt, _Bkt, I, _CL}) ->
  
positive.code:         [] -> error_logger:error_msg("InsertFailed!"), Node;
          [Dest|_] ->
              OldSize = node_size(Dest),
              NewDest = insert_to_node(Key, CheckKey, Dest, Config),
              {Hash, Count + (node_size(NewDest) - OldSize), LeafCount, [], Interval, [NewDest|Rest]}
      end.
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  
negative.code:     BucketSize = Config#mt_config.bucket_size,
      KeepBucket = Config#mt_config.keep_bucket,
      Node = if Count > BucketSize ->
                    p_bulk_build({nil, 1, 1, [], Interval, []}, Config, Bucket);
                KeepBucket ->
                    % let gen_hash/1 hash the leaves
                    {nil, Count, 1, Bucket, Interval, []};
                true ->
                    % need to hash here since we won't keep the bucket!
                    Hash = run_leaf_hf(lists:ukeysort(1, Bucket), Interval,
  