anchor.diff:    clj_utils:error_when( clj_rt:namespace(Sym) =/= ?NIL
                         , <<"Can't refer namespace-qualified symbol">>
                         ),
  +
  +  check_if_override(Ns, Sym, mapping(Ns, Sym), Var),
   
     gen_server:call(?MODULE, {intern, Ns, Sym, Var}).
   
  
positive.code: 
    clj_utils:warn_when( Exists =/= ?NIL
                         andalso not clj_rt:equiv(Exists, Type)
                       , [ Sym
                         , <<" already refers to: ">>
                         , Exists
                         , <<" in namespace: ">>
                         , name(Ns)
                         ]
                       ),
  
  
negative.code: %% Internal functions
  %%------------------------------------------------------------------------------
  
  -spec check_if_override( type()
                         , 'clojerl.Symbol':type()
                         , ?NIL | 'clojerl.Var':type()
                         , 'clojerl.Var':type()
                         ) ->
    ok.
  check_if_override(_, _, ?NIL, _) ->
    ok;
  check_if_override(Ns, Sym, Old, New) ->
    case clj_rt:'var?'(Old) of
      true  ->
        NsName   = 'clojerl.Symbol':name(name(Ns)),
        OldVarNs = 'clojerl.Var':namespace(Old),
        NewVarNs = 'clojerl.Var':namespace(New),
        Message  = [ Sym, <<" already refers to: ">>, Old
                   , <<" in namespace: ">>, Ns
                   ],
        Warn     = OldVarNs =/= NsName andalso NewVarNs =/= <<"clojure.core">>,
        clj_utils:error_when( Warn andalso OldVarNs =/= <<"clojure.core">>
                            , Message
                            ),
  
        clj_utils:warn_when(Warn, [<<"WARNING: ">>, Message]);
      false ->
        ok
    end.
  
  -spec load('clojerl.Symbol':type()) -> type() | ?NIL.
  load(Name) ->
    Module = clj_rt:keyword(Name),
  