anchor.diff:  make_tree(attribute, [[N]]) -> attribute(N);
   make_tree(attribute, [[N], A]) -> attribute(N, A);
   make_tree(binary, [Fs]) -> binary(Fs);
  +make_tree(binary_comp, [[T], B]) -> binary_comp(T, B);
   make_tree(binary_field, [[B]]) -> binary_field(B);
   make_tree(binary_field, [[B], Ts]) ->
       binary_field(B, Ts);
  +make_tree(binary_generator, [[P], [E]]) -> binary_generator(P, E);
   make_tree(block_expr, [B]) -> block_expr(B);
   make_tree(case_expr, [[A], C]) -> case_expr(A, C);
   make_tree(catch_expr, [[B]]) -> catch_expr(B);
  
positive.code:       {generate, _, _, Body} -> Body;
        Node1 -> (data(Node1))#generator.body
      end.
  
  %% =====================================================================
  %% @spec block_expr(Body::[syntaxTree()]) -> syntaxTree()
  
negative.code: 			[[attribute_name(T)], As]
  		    end;
  	    binary -> [binary_fields(T)];
  	    binary_comp ->
  		    [[binary_comp_template(T)], binary_comp_body(T)];
  	    binary_field ->
  		case binary_field_types(T) of
  		  [] -> [[binary_field_body(T)]];
  		  Ts -> [[binary_field_body(T)], Ts]
  		end;
  	    binary_generator ->
  		    [[binary_generator_pattern(T)], 
                       [binary_generator_body(T)]];
  	    block_expr -> [block_expr_body(T)];
  	    case_expr ->
  		[[case_expr_argument(T)], case_expr_clauses(T)];
  