anchor.diff:  
       [4,18446744073709551629,int,"hi",<<"key">>] = maps:keys(M5),
       [number,wat,3,"hello",<<"value">>]          = maps:values(M5),
  +
  +    M6 = #{ <<"key">> := <<"other value">> } = maps:put(<<"key">>, <<"other value">>, M5),
  +
  +    [4,18446744073709551629,int,"hi",<<"key">>] = maps:keys(M6),
  +    [number,wat,3,"hello",<<"other value">>]    = maps:values(M6),
   
       %% error case
       {'EXIT',{badarg,[{maps,put,_,_}|_]}} = (catch maps:put(1,a,1 bsl 65 + 3)),
  
positive.code:     false = maps:is_key("h", M1),
      false = maps:is_key("hello", M1),
      false = maps:is_key(atom, M1),
  
      false = maps:is_key("hi", maps:remove("hi", M1)),
      true  = maps:is_key("hi", M1),
      true  = maps:is_key(1, maps:put(1, "number", M1)),
      false = maps:is_key(1.0, maps:put(1, "number", M1)),
      ok.
  
  t_bif_map_keys(Config) when is_list(Config) ->
  
negative.code: 	t_bif_map_find/1,
  	t_bif_map_is_key/1,
  	t_bif_map_keys/1,
  	t_bif_map_merge/1,
  	t_bif_map_new/1,
  	t_bif_map_put/1,
  	t_bif_map_remove/1,
  	t_bif_map_update/1,
  	t_bif_map_values/1,
  	t_bif_map_to_list/1,
  	t_bif_map_from_list/1,
  