anchor.diff:      F = #c_var{name='F'},
       Xs = #c_var{name='Xs'},
       X = #c_var{name='X'},
  -    C1 = #c_clause{pats=[#c_cons{hd=X, tl=Xs}], guard=#c_literal{val=true},
  +    C1 = #c_clause{anno=Anno,
  +                   pats=[#c_cons{hd=X, tl=Xs}], guard=#c_literal{val=true},
   		   body=#c_seq{arg=#c_apply{anno=Anno, op=F, args=[X]},
   			       body=#c_apply{anno=Anno, op=Loop, args=[Xs]}}},
  -    C2 = #c_clause{pats=[#c_literal{val=[]}],
  +    C2 = #c_clause{anno=Anno, pats=[#c_literal{val=[]}],
   		   guard=#c_call{module=#c_literal{val=erlang},
   				 name=#c_literal{val=is_function},
   				 args=[F, #c_literal{val=1}]},
   		   body=#c_literal{val=ok}},
       Err = #c_tuple{es=[#c_literal{val='function_clause'}, F, Xs]},
  -    C3 = #c_clause{pats=[Xs], guard=#c_literal{val=true},
  +    C3 = #c_clause{anno=Anno, pats=[Xs], guard=#c_literal{val=true},
   		   body=match_fail([{function_name,{'lists^foreach',1}}|Anno], Err)},
       Fun = #c_fun{vars=[Xs],
   		 body=#c_case{arg=Xs, clauses=[C1, C2, C3]}},
  
positive.code: 					    tl=#c_apply{anno=Anno,
  							op=Loop,
  							args=[Xs]}}}},
      C2 = #c_clause{pats=[#c_literal{val=[]}],
  		   guard=#c_call{module=#c_literal{val=erlang},
  				 name=#c_literal{val=is_function},
  				 args=[F, #c_literal{val=1}]},
  
negative.code:     Xs = #c_var{name='Xs'},
      X = #c_var{name='X'},
      A = #c_var{name='A'},
      C1 = #c_clause{anno=Anno,
                     pats=[#c_cons{hd=X, tl=Xs}], guard=#c_literal{val=true},
  		   body=#c_apply{anno=Anno,
  				 op=Loop,
  				 args=[Xs, #c_apply{anno=Anno,
  						    op=F,
  						    args=[X, A]}]}},
      C2 = #c_clause{anno=Anno, pats=[#c_literal{val=[]}],
  		   guard=#c_call{module=#c_literal{val=erlang},
  				 name=#c_literal{val=is_function},
  				 args=[F, #c_literal{val=2}]},
  		   body=A},
      Err = #c_tuple{es=[#c_literal{val='function_clause'}, F, A, Xs]},
      C3 = #c_clause{anno=Anno, pats=[Xs], guard=#c_literal{val=true},
  		   body=match_fail([{function_name,{'lists^foldl',2}}|Anno], Err)},
      Fun = #c_fun{vars=[Xs, A],
  		 body=#c_case{arg=Xs, clauses=[C1, C2, C3]}},
  