anchor.diff:  
   -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, Request, timeout(Opts));
  +            do(Op, Body, timeout(Opts));
           false ->
  -            retry(Op, Request, 0, os:timestamp(), Opts)
  -    end.
  -
  -retry(Op, Request, Retries, Start, Opts) ->
  +            retry(Op, Body, 0, os:timestamp(), Opts)
  +    end.
  +
  +retry(Op, Body, Retries, Start, Opts) ->
       RequestStart = os:timestamp(),
  -    case do(Op, Request, Opts) of
  +    case do(Op, Body, Opts) of
           {ok, Response} ->
   
               case proplists:get_value(<<"ConsumedCapacity">>,
  
positive.code:                             BackoffTime = min(max_backoff(Opts),
                                                trunc(math:pow(2, Retries) * 50)),
                              timer:sleep(BackoffTime),
                              retry(Op, Request, Retries+1, Start, Opts)
                      end;
                  false ->
                      Error
  
negative.code:     end.
  
  
  do(Operation, Body, Opts) ->
      Now = edatetime:now2ts(),
  
      URL = <<"http://", (endpoint())/binary, "/">>,
      Headers = [
  