anchor.diff:      %% first and bind the value to a new variable.
       %% We must use also handle the case that Expr does not
       %% evaluate to a tuple properly.
  -    Fs = record_fields(Name, St0),
  +    Fs = record_fields(Name, Line, St0),
       {Var,St} = new_var(Line, St0),
       NLine = no_compiler_warning(Line),
       expr({block,Line,
  
positive.code: record_pattern(_, _, _, _, _, Acc) -> reverse(Acc).
  
  sloppy_get_record_field(Line, R, Index, Name, St) ->
      Fs = record_fields(Name, St),
      I = index_expr(Line, Index, Name, Fs),
      expr({call,Line,
  	  {remote,Line,{atom,Line,erlang},{atom,Line,element}},
  
negative.code: %%% Replace is_record/3 in guards with matching if possible.
  %%%
  
  optimize_is_record(H0, G0, #exprec{dialyzer=Dialyzer}) ->
      case opt_rec_vars(G0) of
  	[] ->
  	    {H0,G0};
  	Rs0 ->
  	    case Dialyzer of % no_is_record_optimization
  		true ->
  		    {H0,G0};
  		false ->
  