anchor.diff:  	  end;
         application ->
    	    Operator = refac_syntax:application_operator(Node),
  +	    Args = refac_syntax:application_arguments(Node),
    	    Ann = refac_syntax:get_ann(Operator),
    	    case lists:keysearch(fun_def, 1, Ann) of 
    		{value, {fun_def, {M1, F1, A1, _P1, _2}}} ->
    		   TypeSigPid ! {self(), get, {M1, F1, A1}},
    		   receive 
  - 		       {TypeSigPid, value, {_ParSig,  RtnSig}} ->
  - 			   case RtnSig of 
  - 			       any -> Node;
  - 			       Pid -> refac_util:update_ann(Node, Pid)
  + 		       {TypeSigPid, value, {ParSig,  RtnSig}} ->
  +			   F= fun({A, S}) ->
  +				      case S of
  +					  {pname, _} ->    %% Can you do this to Pid?
  +					      refac_util:update_ann(A, S);
  +					  _ -> A
  +				      end
  +			      end,
  +			   Args1 = lists:map(fun({A, S}) -> F({A,S}) end, lists:zip(Args, ParSig)),
  +			   Node1 = refac_syntax:copy_attrs(Node, refac_syntax:application(Operator, Args1)),
  +			   case RtnSig of 
  + 			       any -> Node1;
  + 			       Pid -> refac_util:update_ann(Node1, Pid)
    			   end;
    		       {TypeSigPid, false} ->
    			   Node
  
positive.code:  		  _ -> ok                %%% What about the complex pattern matches?
   		end,
   		refac_syntax:copy_attrs(Node, refac_syntax:match_expr(P1, B));
   	    _ -> Node %% The body is not a pid
   	  end;
         function ->
   	    Ann = refac_syntax:get_ann(Node),
  
negative.code: 		end
  	end,
      {AnnAST1, _} = refac_util:stop_tdTP(F, AnnAST, []),
      %%io:format("AnnAST1:\n~p\n", [AnnAST1]),
      refac_ast_server:update_ast(File, {AnnAST1, Info, filelib:last_modified(File)}),
      ok.
  
  