anchor.diff:      is_subtype(Count, non_neg_integer()).
   keys_to_intervals(KList, IList) ->
       IBucket = [{I, 0, []} || I <- IList],
  -    lists:reverse(lists:foldl(fun(Key, Acc) -> p_key_in_I(Key, [], Acc) end, IBucket, KList)).
  +    lists:foldr(fun(Key, Acc) -> p_key_in_I(Key, [], Acc) end, IBucket, KList).
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
   -spec get_XOR_fun() -> inner_hash_fun().
   get_XOR_fun() ->
  -    (fun([H|T]) -> lists:foldl(fun(X, Acc) -> util:bin_xor(X, Acc) end, H, T) end).
  +    fun([H|T]) -> lists:foldl(fun(X, Acc) -> util:bin_xor(X, Acc) end, H, T) end.
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  
positive.code: 
  -spec insert_list([term()], merkle_tree()) -> merkle_tree().
  insert_list(Terms, Tree) ->
      lists:foldl(fun(Term, T) -> merkle_tree:insert(Term, T) end, Tree, Terms).
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  
negative.code: 
  % @doc Returns an iterator to visit all tree nodes with next
  %      Iterates over all tree nodes from left to right in a deep first manner.
  -spec iterator(Tree::merkle_tree()) -> Iter::mt_iter().
  iterator({merkle_tree, _, Root}) -> [Root].
  
  -compile({inline, [get_hash/1, get_interval/1, node_size/1]}).
  
  -spec iterator_node(Node::mt_node(), mt_iter()) -> mt_iter().
  iterator_node({_, _, _, _, [_|_] = Childs}, Iter1) ->
      lists:append(Childs, Iter1);
  iterator_node({_, _, _, _, []}, Iter1) ->
      Iter1.
  
  -spec next(mt_iter()) -> none | {Node::mt_node(), mt_iter()}.
  next([Node | Rest]) ->
      {Node, iterator_node(Node, Rest)};
  next([]) -> 
      none.
  
  