anchor.diff:  
   %% @private
   -spec build_mappings({any(), any()}, mappings()) -> mappings().
  -build_mappings({K, _} = KV, Map) ->
  -  KHash = clj_rt:hash(K),
  -  Map#{KHash => KV}.
  +build_mappings({Key, Value}, Map) ->
  +  Hash = clj_rt:hash(Key),
  +  Map#{Hash => create_entry(Map, Hash, Key, Value)}.
   
   %%------------------------------------------------------------------------------
   %% Protocols
  
positive.code:                               , clj_rt:to_list(TypeModule:keys(Y))
                                ),
        Fun = fun({Key, Hash}) ->
                  maps:is_key(Hash, Map) andalso
                    clj_rt:equiv( maps:get(Hash, Map)
                                , {Key, TypeModule:get(Y, Key)}
                                )
              end,
        maps:size(Map) =:= TypeModule:count(Y)
          andalso lists:all(Fun, KeyHashPairs);
  
negative.code:   apply(M, [Key, ?NIL]);
  apply(#{?TYPE := ?M, map := Map}, [Key, NotFound]) ->
    Hash = clj_rt:hash(Key),
    case get_entry(Map, Hash, Key) of
      ?NIL -> NotFound;
      {_, Val} -> Val
    end;
  apply(_, Args) ->
    CountBin = integer_to_binary(length(Args)),
    throw(<<"Wrong number of args for map, got: ", CountBin/binary>>).
  