anchor.diff:  
     try
       %% TODO: using process dictionary here might be a code smell
  -    erlang:put(gensym_env, #{}),
  +    erlang:put(?GENSYM_ENV, #{}),
       QuotedForm      = syntax_quote(Form),
       NewFormWithMeta = add_meta(Form, QuotedForm),
   
  
positive.code:              , location(State1)
               ),
  
    OldSupressRead = case erlang:get(supress_read) of
                       undefined -> false;
                       SR -> SR
                     end,
    SupressRead    = OldSupressRead orelse ReadCondOpt == preserve,
    erlang:put(supress_read, SupressRead),
  
    try
      case SupressRead of
  
negative.code: 
  -spec read_fn(state()) -> state().
  read_fn(State) ->
    ?ERROR_WHEN(erlang:get(?ARG_ENV) =/= undefined
               , <<"Nested #()s are not allowed">>
               , location(State)
               ),
  
    {{Form, NewState}, ArgEnv} =
      try
        erlang:put(?ARG_ENV, #{}),
        {read_pop_one(State), erlang:get(?ARG_ENV)}
      after
        %% Make sure the process dictionary entry gets removed
        erlang:erase(?ARG_ENV)
      end,
  
    MaxArg = lists:max([0 | maps:keys(ArgEnv)]),
  