anchor.diff:  run_leaf_hf(#mt_config{ leaf_hf = Hf, signature_size = SigSize }, X) ->
       Hash = Hf(X),
       Size = erlang:byte_size(Hash),
  -    case Size > SigSize of
  -        true -> 
  -            Start = Size - SigSize,
  -            <<_:Start/binary, SmallHash:SigSize/binary>> = Hash,
  -            SmallHash;
  -        false -> Hash
  +    if Size > SigSize  -> 
  +           Start = Size - SigSize,
  +           <<_:Start/binary, SmallHash:SigSize/binary>> = Hash,
  +           SmallHash;
  +       true -> Hash
       end.
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
positive.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) -> Iter when
        is_subtype(Tree, merkle_tree()),
        is_subtype(Iter, mt_iter()).
  iterator({merkle_tree, _, Root}) -> [Root].
  
  -spec iterator_node(Node, Iter) -> Iter when
        is_subtype(Node,  mt_node()),
        is_subtype(Iter, mt_iter()).
  iterator_node({_, _, _, _, [_|_] = Childs}, Iter1) ->
      lists:append(Childs, Iter1);
  iterator_node({_, _, _, _, []}, Iter1) ->
      Iter1.
  
  -spec next(Iter) -> none | {Node, Iter} when
        is_subtype(Iter, mt_iter()),
        is_subtype(Node,  mt_node()).
  next([Node | Rest]) ->
          {Node, iterator_node(Node, Rest)};
  next([]) -> 
      none.
  
  
negative.code: 
  -spec insert_list([term()], merkle_tree()) -> merkle_tree().
  insert_list(Terms, Tree) ->
      lists:foldl(fun insert/2, Tree, Terms).
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  