anchor.diff:                              BackoffTime = min(max_backoff(Opts),
                                                 trunc(math:pow(2, Retries) * 50)),
                               timer:sleep(BackoffTime),
  -                            retry(Op, Request, Retries+1, Start, Opts)
  +                            retry(Op, Body, Retries+1, Start, Opts)
                       end;
                   false ->
                       Error
  
positive.code:     end.
  
  
  do(Operation, {UserRequest}, Opts) ->
      Now = edatetime:now2ts(),
  
      Request = case Operation of
          Op when Op == delete_table; Op == describe_table; Op == create_table ->
              {UserRequest};
          _Other ->
              {lists:keystore(<<"ReturnConsumedCapacity">>, 1, UserRequest,
                                {<<"ReturnConsumedCapacity">>, <<"TOTAL">>})}
      end,
  
      Body = jiffy:encode(Request),
  
      URL = <<"http://", (endpoint())/binary, "/">>,
      Headers = [
  
negative.code: 
  -spec retry(target(), request(), [any()]) -> {ok, _} | {error, _}.
  retry(Op, Request, Opts) ->
      Body = encode_body(Op, Request),
      case proplists:is_defined(no_retry, Opts) of
          true ->
              do(Op, Body, timeout(Opts));
          false ->
              retry(Op, Body, 0, os:timestamp(), Opts)
      end.
  
  retry(Op, Body, Retries, Start, Opts) ->
      RequestStart = os:timestamp(),
      case do(Op, Body, Opts) of
          {ok, Response} ->
  
              case proplists:get_value(<<"ConsumedCapacity">>,
  