anchor.diff:  %
   % The call can raise the following exceptions:
   % <ul>
  -% <li>`{badmap,Map}' if `Map1' is not a map</li>
  +% <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>
  
positive.code: % the conflicting value to resolve the conflict. The return value from the
  % function is put into the resulting map.
  %
  % The call fails with a `{badmap,Map}' exception if any of the maps is not a
  % map.
  -spec deep_merge(fun((Old::term(), New::term()) -> term()), map(), map() | [map()]) -> map().
  deep_merge(_Fun, Target, []) when is_map(Target) ->
  
negative.code: % several maps, the value in the first nested map is superseded by the value in
  % a following nested map.
  %
  % The call can raise the following exceptions:
  % <ul>
  % <li>`{badmap,Map}' exception if any of the maps is not a map</li>
  % </ul>
  %
  % @equiv deep_merge(fun (_, V) -> V end, #{}, Maps)
  -spec deep_merge([map()]) -> map().
  