anchor.diff:                        end,
                         Rest,
                         lists:seq(IndexStart + 1, IndexEnd - 1)),
  +
               %% tail
               TailOffset = 0,
               TailSize = End rem ChunkedObjLen + 1,
  
positive.code:                 {error, Cause3} ->
                      throw({error, Cause3});
                  _ ->
                      TailSize
              end
      end,
      NumChunks = erlang:max(IndexEnd, SrcMetadata#?METADATA.cnumber),
      %% https://github.com/leo-project/leofs/issues/596 revealed the below fix was wrong.
      %% - https://github.com/leo-project/leofs/issues/537
  
negative.code:             case large_obj_partial_update(Key, HeadBin, IndexStart, HeadOffset, HeadSize) of
                  {error, Cause} ->
                      throw({error, Cause});
                  _ ->
                      void
              end,
  
              %% middle
              Rest3 = lists:foldl(
                        fun(Index, << MidBin:ChunkedObjLen/binary, Rest2/binary >>) ->
  