anchor.diff:      V1 :: term(),
       V2 :: term().
   
  -map(Fun, Map) ->
  +map(Fun, Map) when is_function(Fun, 2), is_map(Map) ->
       maps:from_list(lists:map(fun
   		({K,V}) ->
   		    {K,Fun(K,V)}
  
positive.code:     K :: term(),
      V :: term().
  
  foldr(Fun, Init, Map) ->
      lists:foldr(fun({K,V},A) -> Fun(K,V,A) end,Init,maps:to_list(Map)).
  
  
  
negative.code:     K :: term(),
      V :: term().
  
  foldl(Fun, Init, Map) when is_function(Fun,3), is_map(Map) ->
      lists:foldl(fun({K,V},A) -> Fun(K,V,A) end,Init,maps:to_list(Map)).
  
  -spec foldr(Fun,Init,Map) -> Acc when
  