anchor.diff:  -record(iset,      {anno=#a{},var,arg}).
   -record(itry,      {anno=#a{},args,vars,body,evars,handler}).
   -record(ifilter,   {anno=#a{},arg}).
  --record(igen,      {anno=#a{},acc_pat,acc_guard,skip_pat,tail,tail_pat,arg}).
  +-record(igen,      {anno=#a{},ceps=[],acc_pat,acc_guard,
  +		    skip_pat,tail,tail_pat,arg}).
   
   -type iapply()    :: #iapply{}.
   -type ibinary()   :: #ibinary{}.
  
positive.code: 			    args=[Sz]}}] ++ BcPre,
      {E,Pre,St}.
  
  bc_tq1(Line, E, [#igen{anno=GAnno,acc_pat=AccPat,acc_guard=AccGuard,
                         skip_pat=SkipPat,tail=Tail,tail_pat=TailPat,
                         arg={Pre,Arg}}|Qs], Mc, St0) ->
      {Name,St1} = new_fun_name("lbc", St0),
  
negative.code:     Fun = #ifun{anno=LAnno,id=[],vars=Vars,clauses=Cs,fc=Fc},
      {#iletrec{anno=LAnno#a{anno=[list_comprehension|LA]},defs=[{{Name,2},Fun}],
                body=Pre ++ [#iapply{anno=LAnno,op=F,args=[Arg,Mc]}]},
       Ceps,St4};
  bc_tq1(Line, E, [#ifilter{}=Filter|Qs], Mc, St) ->
      filter_tq(Line, E, Filter, Mc, St, Qs, fun bc_tq1/5);
  bc_tq1(_, {bin,Bl,Elements}, [], AccVar, St0) ->
  