anchor.diff:  
   with(Ks,Map1) when is_list(Ks), is_map(Map1) ->
       Fun = fun(K, List) ->
  -      case ?MODULE:find(K, Map1) of
  -          {ok, V} ->
  -              [{K, V} | List];
  -          error ->
  -              List
  -      end
  -    end,
  -    ?MODULE:from_list(lists:foldl(Fun, [], Ks));
  +                  case maps:find(K, Map1) of
  +                      {ok, V} ->
  +                          [{K, V} | List];
  +                      error ->
  +                          List
  +                  end
  +          end,
  +    maps:from_list(lists:foldl(Fun, [], Ks));
   with(Ks,M) ->
       erlang:error(error_type(M),[Ks,M]).
   
  
positive.code:       Map2 :: map().
  
  filter(Pred,Map) when is_function(Pred,2), is_map(Map) ->
      maps:from_list([{K,V}||{K,V}<-maps:to_list(Map),Pred(K,V)]);
  filter(Pred,Map) ->
      erlang:error(error_type(Map),[Pred,Map]).
  
  
  -spec fold(Fun,Init,Map) -> Acc when
      Fun :: fun((K, V, AccIn) -> AccOut),
  
negative.code: -export([get/3, filter/2,fold/3,
           map/2, size/1,
           update_with/3, update_with/4,
           without/2, with/2,
           iterator/1, next/1]).
  
  %% BIFs
  -export([get/2, find/2, from_list/1,
           is_key/2, keys/1, merge/2,
           new/0, put/3, remove/2, take/2,
           to_list/1, update/3, values/1]).
  
  -opaque iterator() :: [{term(), term()}].
  
  -export_type([iterator/0]).
  
  %% Shadowed by erl_bif_types: maps:get/2
  -spec get(Key,Map) -> Value when
  