anchor.diff:  			    args=[Arg]}]}.
   
   %% Optimization for Dialyzer.
  -right_assoc(E, Op, St) ->
  -    case member(dialyzer, St#core.opts) of
  -        true ->
  -            right_assoc2(E, Op);
  -        false ->
  -            E
  -    end.
  -
  -right_assoc2({op,L1,Op,{op,L2,Op,E1,E2},E3}, Op) ->
  -    right_assoc2({op,L2,Op,E1,{op,L1,Op,E2,E3}}, Op);
  -right_assoc2(E, _Op) -> E.
  +right_assoc({op,L1,Op,{op,L2,Op,E1,E2},E3}, Op) ->
  +    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
  
positive.code:     E = make_bool_switch(L, E1, V, E2, False, St0),
      expr(E, St);
  expr({op,_,'orelse',_,_}=E0, St0) ->
      {op,L,'orelse',E1,E2} = right_assoc(E0, 'orelse', St0),
      Anno = lineno_anno(L, St0),
      {#c_var{name=V0},St} = new_var(Anno, St0),
      V = {var,L,V0},
  
negative.code: 	    {#iprotect{anno=#a{anno=Anno},body=Eps++[E]},[],Bools0,St}
      end;
  gexpr({op,_,'andalso',_,_}=E0, Bools, St0) ->
      {op,L,'andalso',E1,E2} = right_assoc(E0, 'andalso'),
      Anno = lineno_anno(L, St0),
      {#c_var{name=V0},St} = new_var(Anno, St0),
      V = {var,L,V0},
  