anchor.diff:      OldGuard = erl_syntax:clause_guard(Clause),
       OldBody = erl_syntax:clause_body(Clause),
       %% Create new variable to use as 'SenderPid'.
  -    [{used, Used}] = ets:lookup(?NT_USED, used),
  -    Fresh = erl_syntax_lib:new_variable_name(Used),
  -    PidVar = erl_syntax:variable(Fresh),
  +    PidVar = new_variable(),
       NewPattern = [erl_syntax:tuple([PidVar, OldPattern])],
       Module = erl_syntax:atom(sched),
       Function = erl_syntax:atom(rep_receive_notify),
  
positive.code:             %% Create new receive expression adding the `after 0` part.
              Timeout = erl_syntax:integer(0),
              %% Create new variable to use as 'Aux'.
              [{used, Used}] = ets:lookup(?NT_USED, used),
              Fresh = erl_syntax_lib:new_variable_name(Used),
              FunVar = erl_syntax:variable(Fresh),
              Action = erl_syntax:application(FunVar, []),
              NewRecv = erl_syntax:receive_expr(NewClauses, Timeout, [Action]),
              %% Create a new fun to be the argument of rep_receive.
  
negative.code:     erl_syntax:application(Module, Function, Arguments).
  
  %% Instrument a receive expression.
  %% receive
  %%    Msg -> Actions
  %% end
  %% is transformed into
  %% sched:rep_receive(Fun),
  %% where Fun = fun(Aux) ->
  %%               receive
  %%                 {SenderPid, Msg} ->
  %%                   {SenderPid, Msg, Actions}
  %%               after 0 ->
  %%                 Aux()
  %%               end
  %%             end
  instrument_receive(Tree) ->
      Module = erl_syntax:atom(sched),
      Function = erl_syntax:atom(rep_receive),
  