Incrementing counter by more than 1

I'm using

It seems that there is no way to increment a counter by more than 1. Is there a reason?

Is using a for loop the best way to do it, like this?:

        _mintBatch(_receiver, ids, amounts, "");
        for (uint256 i = 0; i < ids.length; i++) supply.increment();

There was no business need for an increment bigger than 1. Are you suggesting a setter function to change the stepsize from the default value 1 to any arbitrage positive integer?

No, just want to increment the supply value after a batch mint transaction.

Intuitively I thought I'd be able to do this, but it isn't possible:

         _mintBatch(_receiver, ids, amounts, "");

What is wrong doing

uint256 internal supply;

Then in the mint function
supply += amounts;

Does OpenZeppelin's library have some safety features that make it safer to use than a raw supply += ids.length?

Maybe this security article about tracking supply is relevant:

This looks interesting. I am only becoming aware of all the big holes left dotted around.
Thankyou for the link I will read that when later I have no children using me as a climbing frame.

I have wrote a new contract over the ERC1155 that keeps track of the NFTs, I am novice and only discovering the problems with customisation. It almost made me angry when I discovered my custom superAdministrator script that replaced ownable was then not hackable by opensea. lol

And I could not edit the contract in opensea, because it could not set itself approval. !!

Think we need a new market place asap.

So what's the best solution to increment counter by more than 1 (e.g. after a batch mint)?

You may make a proposal for a function to change the step size. Before that, call the increment function multiple times in one call can be a tentative solution, if the additional gas cost is not a big concern.