anchor.diff:      TempBefore=wrangler_syntax:macro(
                    wrangler_syntax:variable('T'),
                    [wrangler_syntax:string(?PP(wrangler_syntax:application(
  -                 wrangler_syntax:module_qualifier(M1, F1),NewPats)))]),
  +                                               wrangler_syntax:module_qualifier(M1, F1),NewPats)))]),
       CodeAfter= wrangler_syntax:macro(
                    wrangler_syntax:variable('TO_AST'),
                    [wrangler_syntax:string(?PP(NewB))]),
  
positive.code:     {NewC, []};
  gen_new_clause_and_cond(C, Nth,_BeforeTempType) ->
      Pats = wrangler_syntax:clause_patterns(C),
      GuardName = list_to_atom("Guard" ++ integer_to_list(Nth) ++ "@@"),
      Guard = wrangler_syntax:variable(GuardName),
      LastBody = wrangler_syntax:variable(list_to_atom("Body"++integer_to_list(Nth)++"@@")),
      Bs = wrangler_syntax:clause_body(C),
      NewC=wrangler_syntax:clause(Pats, Guard, lists:reverse([LastBody|tl(lists:reverse(Bs))])),
  
negative.code:             end
      end.
             
  bound_vars(Nodes) when is_list(Nodes) ->
      lists:usort(lists:flatmap(fun (Node) -> 
                                        bound_vars(Node) 
                                end, Nodes));
  bound_vars(Node) ->
      Fun = fun (N, Acc) ->
                    Ann = wrangler_syntax:get_ann(N),
                    case lists:keyfind(bound,1,Ann) of
                        {bound, Vs} ->
                            Vs++Acc;
                        false ->
                            Acc 
                    end
  