anchor.diff:      {{call,Line,Fun1,As1},St1};
   expr({'try',Line,Es0,Scs0,Ccs0,As0}, St0) ->
       {Es1,St1} = exprs(Es0, St0),
  -    {Scs1,St2} = icr_clauses(Scs0, St1),
  -    {Ccs1,St3} = icr_clauses(Ccs0, St2),
  +    {Scs1,St2} = clauses(Scs0, St1),
  +    {Ccs1,St3} = clauses(Ccs0, St2),
       {As1,St4} = exprs(As0, St3),
       {{'try',Line,Es1,Scs1,Ccs1,As1},St4};
   expr({'catch',Line,E0}, St0) ->
  -    %% Catch exports no new variables.
       {E,St1} = expr(E0, St0),
       {{'catch',Line,E},St1};
   expr({match,Line,P0,E0}, St0) ->
  
positive.code:     {Qs1,St3} = lc_tq(Line, Qs0, St2),
      {[{b_generate,Lg,P1,G1}|Qs1],St3};
  lc_tq(Line, [F0 | Qs0], St0) ->
      case erl_lint:is_guard_test(F0) of
          true ->
              {F1,St1} = guard_test(F0, St0),
              {Qs1,St2} = lc_tq(Line, Qs0, St1),
              {[F1|Qs1],St2};
          false ->
              {F1,St1} = expr(F0, St0),
              {Qs1,St2} = lc_tq(Line, Qs0, St1),
              {[F1 | Qs1],St2}
      end;
  lc_tq(_Line, [], St0) ->
      {[],St0}.
  
  
negative.code: %%      {TransformedPattern,State'}
  %%
  
  pattern({var,_,_}=Var, St) ->
      {Var,St};
  pattern({char,_,_}=Char, St) ->
  