anchor.diff:        Name      = 'clojerl.Var':name(Var),
         Meta      = clj_rt:meta(Symbol),
         clj_rt:with_meta(clj_rt:symbol(Namespace, Name), Meta)
  +  end;
  +resolve_symbol(Resolver, Symbol) ->
  +  case 'clojerl.Symbol':namespace(Symbol) of
  +    ?NIL ->
  +      RSym = case 'clojerl.IResolver':resolve_class(Resolver, Symbol) of
  +               ?NIL -> 'clojerl.IResolver':resolve_var(Resolver, Symbol);
  +               RSym_ -> RSym_
  +             end,
  +      case RSym of
  +        ?NIL ->
  +          Ns = 'clojerl.IResolver':current_ns(Resolver),
  +          NsStr   = 'clojerl.Symbol':name(Ns),
  +          NameStr = 'clojerl.Symbol':name(Symbol),
  +          'clojerl.Symbol':?CONSTRUCTOR(NsStr, NameStr);
  +        _    ->
  +          RSym
  +      end;
  +    NsName ->
  +      Alias  = 'clojerl.Symbol':?CONSTRUCTOR(NsName),
  +      NsSym0 = 'clojerl.IResolver':resolve_class(Resolver, Alias),
  +      NsSym1 = case NsSym0 of
  +                 ?NIL -> 'clojerl.IResolver':resolve_alias(Resolver, Alias);
  +                 _    -> NsSym0
  +               end,
  +      case NsSym1 of
  +        ?NIL ->
  +          ?NIL;
  +        _ ->
  +          NsStr   = 'clojerl.Symbol':name(NsSym1),
  +          NameStr = 'clojerl.Symbol':name(Symbol),
  +          'clojerl.Symbol':?CONSTRUCTOR(NsStr, NameStr)
  +      end
     end.
   
   -spec syntax_quote_coll(any(), 'clojerl.Symbol':type()) -> any().
  
positive.code: 
  -spec syntax_quote_symbol(any()) -> any().
  syntax_quote_symbol(Symbol) ->
    NamespaceStr = 'clojerl.Symbol':namespace(Symbol),
    NameStr      = 'clojerl.Symbol':name(Symbol),
    IsGenSym     = 'clojerl.String':ends_with(NameStr, <<"#">>),
    case {NamespaceStr, IsGenSym} of
      {?NIL, true} ->
        register_gensym(Symbol);
      _ ->
        resolve_symbol(Symbol)
    end.
  
  -spec register_gensym(any()) -> any().
  
negative.code:       GenSym
    end.
  
  -spec resolve_symbol('clojerl.IResolver':type() | ?NIL, any()) -> any().
  resolve_symbol(?NIL, Symbol) ->
    HasDot = binary:match('clojerl.Symbol':str(Symbol), <<"\.">>) =/= nomatch,
    case HasDot orelse 'clojerl.Namespace':find_var(Symbol) of
      true -> Symbol;
  