anchor.diff:  function({function,_,Name,Arity,Cs0}, Ws0, File, Opts) ->
       try
           St0 = #core{vcount=0,function={Name,Arity},opts=Opts,
  +                    dialyzer=member(dialyzer, Opts),
                       ws=Ws0,file=[{file,File}]},
           {B0,St1} = body(Cs0, Name, Arity, St0),
           %% ok = function_dump(Name,Arity,"body:~n~p~n",[B0]),
  
positive.code:     right_assoc({op,L2,Op,E1,{op,L1,Op,E2,E3}}, Op);
  right_assoc(E, _Op) -> E.
  
  annotate_tuple(A, Es, St) ->
      case member(dialyzer, St#core.opts) of
          true ->
              %% Do not coalesce constant tuple elements. A Hack.
              Node = cerl:ann_c_tuple(A, [cerl:c_var(any)]),
  
negative.code:  		  lit_vars(V, lit_vars(S, Vs0))
  	  end, Vs, Segs).
  
  record_anno(L, #core{dialyzer=Dialyzer}=St) ->
      case erl_anno:record(L) andalso Dialyzer of
          true ->
              [record | lineno_anno(L, St)];
          false ->
  