anchor.diff:  
   %% hex(crypto:hash(sha256, <<>>))
   -define(EMPTY_HASH, <<"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855">>).
  --define(DEFAULT_REGION, 'eu-west-1').
  +-define(DEFAULT_REGION, <<"eu-west-1">>).
   
   %% ===================================================================
   %% Types
  
positive.code:     end,
      Url = <<Scheme/binary, "://", FullHost/binary>>,
      {Region, Service, FullHost, Url}.
  
  
  %% @private
  
negative.code: -spec request_v4_tmp(request_v4_config()) ->
      {Method::binary(), Url::binary()}.
  
  request_v4_tmp(Config) ->
      case nklib_syntax:parse(Config, syntax()) of
          {ok, Config2, _} ->
              do_request_v4_tmp(Config2);
          {error, Error} ->
              {error, Error}
      end.
  
  
  %% @private
  do_request_v4_tmp(#{ttl:=Secs}=Config) ->
      Expires = to_bin(nklib_date:epoch(secs) + Secs),
      Method = nklib_util:to_upper(maps:get(method, Config, <<"GET">>)),
      Path = maps:get(path, Config, <<"/">>),
  