anchor.diff:    SetWithMeta = clj_core:with_meta(Set, file_location_meta(State0)),
   
     State2#{forms => [SetWithMeta | Forms]}.
  -
  -%%------------------------------------------------------------------------------
  -%% #[] tuple
  -%%------------------------------------------------------------------------------
  -
  --spec read_tuple(state()) -> state().
  -read_tuple(#{forms := Forms, loc := Loc} = State0) ->
  -  State  = add_scope(State0),
  -  State1 = read_until($], location_started(State#{forms => []}, Loc)),
  -  State2 = remove_scope(State1),
  -  #{forms := ReversedItems} = State2,
  -
  -  Items = lists:reverse(ReversedItems),
  -  Tuple = erlang:list_to_tuple(Items),
  -
  -  State2#{forms => [Tuple | Forms]}.
   
   %%------------------------------------------------------------------------------
   %% #"" regex
  
positive.code:                       ),
  
    {Form, State2} = read_pop_one(State1),
    case erlang:get(supress_read) of
      true ->
        push_form(tagged_literal(Symbol, Form), State2);
      _ ->
        case 'clojerl.String':contains(clj_core:name(Symbol), <<".">>) of
          true  -> read_record(Symbol, Form, State2);
          false -> read_tagged(Symbol, Form, location(State), State2)
        end
    end.
  
  -spec read_record('clojerl.Symbol':type(), any(), state()) -> state().
  read_record(Symbol, Form, State) ->
  
negative.code:     $( -> read_fn(consume_char(State));
      $= -> read_eval(NewState);
      ${ -> read_set(NewState);
      $" -> read_regex(NewState);
      $! -> read_comment(NewState);
      $_ -> read_discard(NewState);
  