anchor.diff:               ),
   
     ct:comment("Use default readers"),
  -  <<"2016">> = clj_reader:read(<<"#inst \"2016\"">>),
  +  <<"2016">> = ReadFun(<<"#inst \"2016\"">>),
     <<"de305d54-75b4-431b-adb2-eb6b9e546014">> =
  -    clj_reader:read(<<"#uuid \"de305d54-75b4-431b-adb2-eb6b9e546014\"">>),
  +    ReadFun(<<"#uuid \"de305d54-75b4-431b-adb2-eb6b9e546014\"">>),
   
     ct:comment("Use *default-data-reader-fn*"),
     DefaultReaderFunVar =
  
positive.code:                               ),
    DefaultReaderFun = fun(_, _) -> default end,
    ok  = 'clojerl.Var':push_bindings(#{DefaultReaderFunVar => DefaultReaderFun}),
    default = clj_reader:read(<<"#whatever :tag">>),
    default = clj_reader:read(<<"#we use">>),
    ok  = 'clojerl.Var':pop_bindings(),
  
    ct:comment("Provide additional reader"),
  
negative.code:   , HelloKeywordCheck
    , 2.5
    , WorldSymbolCheck
    } = ReadFun(<<"#[42, :hello, 2.5, world]">>),
    true = clj_core:equiv(HelloKeyword, HelloKeywordCheck),
    true = clj_core:equiv(WorldSymbol, WorldSymbolCheck),
  
    ct:comment("Read a tuple whose first element is an keyword"),
    T = ReadFun(<<"#[:random, :hello, 2.5, 'world]">>),
    'clojerl.erlang.Tuple' = clj_core:type(T),
  
    {comments, ""}.
  
  tagged(Config) when is_list(Config) ->
    tagged(fun read/1),
    tagged(fun read_io/1);
  tagged(ReadFun) ->
    DefaultDataReadersVar = 'clojerl.Var':?CONSTRUCTOR( <<"clojure.core">>
                                                      , <<"default-data-readers">>
                                                      ),
  