anchor.diff:  		Fs = [analyze_record_field(F)
   		      || F <- refac_syntax:record_expr_fields(Node)],
   		{record_expr, {refac_syntax:atom_value(A), Fs}};
  -	    _ -> throw(syntax_error)
  +	    _ -> {Ln, _} = refac_syntax:get_pos(Node),
  +		 throw("Unrecognised record expression in line " ++ integer_to_list(Ln))
   	  end;
         record_access ->
   	  F = refac_syntax:record_access_field(Node),
  
positive.code: 	  A = length(refac_syntax:application_arguments(Node)),
  	  F = refac_syntax:application_operator(Node),
  	  case catch {ok, analyze_function_name(F)} of
  	    syntax_error -> A;
  	    {ok, N} -> append_arity(A, N);
  	    _ -> throw(syntax_error)
  	  end;
        _ -> throw(syntax_error)
      end.
  
  %% =====================================================================
  
negative.code:       true ->
  	  [refac_syntax:variable_name(V)
  	   || V <- refac_syntax:list_elements(Node)];
        false -> 
  	    {Ln, _} = refac_syntax:get_pos(Node),
  	    throw("Unrecognised variable list in line " ++ integer_to_list(Ln))
      end.
  
  %% =====================================================================
  