anchor.diff:  
     FnSymbol = clj_core:symbol(<<"fn*">>),
     FnForm = clj_core:list([FnSymbol, ArgsVector, Form]),
  -
  -  push_form(FnForm, NewState).
  +  FnFormWithMeta = clj_core:with_meta(FnForm, #{loc => Loc}),
  +
  +  push_form(FnFormWithMeta, NewState).
   
   %%------------------------------------------------------------------------------
   %% #= eval
  
positive.code:     $= -> read_eval(NewState);
      ${ -> read_set(NewState);
      $[ -> read_tuple(NewState);
      $< -> throw(<<"Unreadable form">>);
      $" -> read_regex(NewState);
      $! -> read_comment(NewState);
      $_ -> read_discard(NewState);
      $? -> read_cond(NewState);
      $: -> read_erl_fun(NewState);
      X -> throw({unsupported_reader, <<"#", X>>})
    end.
  
  %%------------------------------------------------------------------------------
  
negative.code: %% #() fn
  %%------------------------------------------------------------------------------
  
  read_fn(#{loc := Loc} = State) ->
    case erlang:get(arg_env) of
      undefined -> ok;
      _         -> throw(<<"Nested #()s are not allowed">>)
  