anchor.diff:                             list(TypeSpec)]
     		  end;	
   	      type ->
  -		  {TypeName, TypeSpec1, TypeSpec2} = Data,
  +                  {TypeName, TypeSpec1, TypeSpec2} = Data,
   		  case TypeName of 
   		      {_TypeName1, _TypeName2} ->
   			  [];  %% FIX THIS (TYPED RECORD).
   		      %% set_pos(atom(TypeName2), Pos),set_pos(list(TypeSpec1),Pos), list(TypeSpec2)];
  -		       _ ->
  -			  [set_pos(atom(TypeName), Pos), TypeSpec1, list(TypeSpec2)]			     
  +		       _  when TypeSpec2 ==[] ->
  +                           [set_pos(atom(TypeName), Pos), TypeSpec1];
  +                      _ ->
  +                          [set_pos(atom(TypeName), Pos), TypeSpec1, list(TypeSpec2)]			     
   		  end;
   	      _ ->
  -	       [set_pos(abstract(Data), Pos)]
  +                  [set_pos_rec(abstract(Data), Pos)]
   	  end;
         Node1 -> (data(Node1))#attribute.args
       end.
  +
  +set_pos_rec(Node, Pos) ->
  +    ast_traverse_api:full_buTP(fun (T, _Others) -> 
  +                                       set_pos(T, Pos)
  +                               end, Node, {}).
   
     
   
  
positive.code: 
  revert_parentheses(Node) -> parentheses_body(Node).
  
  %% =====================================================================
  %% @spec parentheses_body(syntaxTree()) -> syntaxTree()
  %%
  
negative.code: make_tree(match_expr, [[P], [E]]) -> match_expr(P, E);
  make_tree(module_qualifier, [[M], [N]]) ->
      module_qualifier(M, N);
  make_tree(fake_parentheses, [[E]]) -> fake_parentheses(E);
  make_tree(parentheses, [[E]]) -> parentheses(E);
  make_tree(prefix_expr, [[F], [A]]) -> prefix_expr(F, A);
  make_tree(qualified_name, [S]) -> qualified_name(S);
  