anchor.diff:          end,
           Target,
           Map
  -    );
  -deep_merge(_Fun, Target, Map) when is_map(Map) ->
  -    error({badmap, Target});
  -deep_merge(_Fun, Target, Map) when is_map(Target) ->
  -    error({badmap, Map}).
  +    ).
   
   % @doc Inverts `Map' by inserting each value as the key with its corresponding
   % key as the value. If two keys have the same value, one of the keys will be
  
positive.code: update(Map, [], Wrap, _Default, _Acc) when is_map(Map) ->
      Wrap().
  
  remove(Map, [First]) ->
      maps:remove(First, Map);
  remove(Map, [First, Second|Path]) when is_map(Map) ->
  
negative.code: % The call fails with a `{badmap,Map}' exception if `Map' is not a map, or with
  % a `{badpath,Path}' exception if `Path' is not a path.
  -spec deep_get(path(), map(), term()) -> term().
  deep_get(Path, Map, Default) ->
      check(Path, Map),
      search(Map, Path,
          fun(Value) -> Value end,
          fun(_Key) -> Default end
      ).
  
  % @doc Associates `Path' with value `Value' and inserts the association into map
  % `Map2'. If path `Path' already exists in map `Map1', the old associated value
  