anchor.diff:  % key as the value. If two keys have the same value, one of the keys will be
   % overwritten by the other in an undefined order.
   %
  -% The call fails with a `{badmap,Map}' exception if `Map' is not a map.
  +% The call can raise the following exceptions:
  +% <ul>
  +% <li>`{badmap,Map}' if `Map' is not a map</li>
  +% </ul>
   -spec inverse(map()) -> map().
   inverse(Map) ->
       maps:fold(fun(K, V, Acc) -> maps:put(V, K, Acc) end, #{}, Map).
  
positive.code: % `Map1' and returns a new map `Map2' without that key. Any deeper non-existing
  % keys are ignored.
  %
  % 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_remove(path(), map()) -> map().
  deep_remove(Path, Map) ->
      check(Path, Map),
  
negative.code: %
  % The call can raise the following exceptions:
  % <ul>
  % <li>`{badmap,Map}' if `Map' is not a map</li>
  % <li>`{badpath,Path}' if `Path' is not a path</li>
  % <li>`{badvalue,P}' if a term that is not a map exists as a intermediate key at
  %     the path `P'</li>
  