anchor.diff:  
   %% @doc Helper for lookup/2. In contrast to lookup/2, assumes that I is a
   %%      subset of the current node's interval.
  --spec lookup_(mt_interval(), mt_node()) -> mt_node() | not_found.
  +-spec lookup_(intervals:interval(), mt_node()) -> mt_node() | not_found.
   lookup_(I, {_H, _ICnt, _Bkt, I} = Node) ->
       Node;
   lookup_(_I, {_H, _ICnt, _Bkt, _NodeI}) ->
  
positive.code: 
  %% @doc Creates a new empty merkle tree with default params for the given
  %%      interval.
  -spec new(mt_interval()) -> merkle_tree().
  new(I) ->
      new(I, []).
  
  %% @doc Creates a new empty merkle tree with the given params and interval.
  %%      ConfParams = list of tuples defined by {config field name, value}
  %%      e.g. [{branch_factor, 32}, {bucket_size, 16}]
  -spec new(mt_interval(), mt_config_params()) -> merkle_tree().
  new(I, ConfParams) ->
      new(I, [], ConfParams).
  
  
negative.code:          keep_bucket    = false             :: boolean()        %false=bucket will be empty after bulk_build; true=bucket will be filled
           }).
  -type mt_config() :: #mt_config{}.
  %only key value pairs of mt_config allowed:
  -type mt_config_params() :: [{branch_factor, pos_integer()}
                                   | {bucket_size, pos_integer()}
                                   | {leaf_hf, hash_fun()}
                                   | {inner_hf, inner_hash_fun()}
                                   | {keep_bucket, boolean()}] | [].
  
  -type mt_leaf() :: { Hash        :: mt_node_key() | nil, %hash of childs/containing items
                       ItemCount   :: non_neg_integer(),   %number of items in the leaf nodes below or in this node
                       Bucket      :: mt_bucket(),         %item storage
                       Interval    :: intervals:interval() %represented interval
                      }.
  -type mt_inner() :: {Hash        :: mt_node_key() | nil, %hash of childs/containing items
                       Count       :: non_neg_integer(),   %number of subnodes including itself
                       LeafCount   :: pos_integer(),       %number of leafs below this node (if it is a leaf, LeafCount will be 1)
                       ItemCount   :: non_neg_integer(),   %number of items in the leaf nodes below or in this node
                       Interval    :: intervals:interval(),%represented interval
                       Child_list  :: [mt_leaf() | mt_inner(),...] %child nodes (in arbitrary order)
                      }.
  -type mt_node() :: mt_inner() | mt_leaf().
  