anchor.diff:  
   -spec bind(term(), term(), environment()) -> environment().
   
  -bind(Key, Value, [{map, Dict}]) ->
  -    [{map, dict:store(Key, Value, Dict)}];
  -bind(Key, Value, [{map, Dict} | Env]) ->
  -    [{map, dict:store(Key, Value, Dict)} | delete_any(Key, Env)];
  +bind(Key, Value, [{map, Map}]) ->
  +    [{map, maps:put(Key, Value, Map)}];
  +bind(Key, Value, [{map, Map} | Env]) ->
  +    [{map, maps:put(Key, Value, Map)} | delete_any(Key, Env)];
   bind(Key, Value, Env) ->
  -    [{map, dict:store(Key, Value, dict:new())} | delete_any(Key, Env)].
  +    [{map, maps:put(Key, Value, #{})} | delete_any(Key, Env)].
   
   
   %% =====================================================================
  
positive.code: %% @doc Abstract environments, supporting self-referential bindings and
  %% automatic new-key generation.
  
  %% The current implementation is based on Erlang standard library
  %% dictionaries.
  
  %%% -define(DEBUG, true).
  
  
negative.code: size(Env) ->
      env_size(Env).
  
  env_size([{map, Map}]) ->
      map_size(Map);
  env_size([{map, Map} | Env]) ->
      map_size(Map) + env_size(Env);
  env_size([{rec, Map, _Map0} | Env]) ->
      map_size(Map) + env_size(Env).
  
  
  %% =====================================================================
  