I didn't make a suggested change, which would expose a race condition. I didn't understand that you suggested a further fix. What is it?

The code currently works on the same thread, but I wanted allowed and increment to not throw if the code was ever used async.

This was to protect against a potential maintenance problem, not an actual problem with the code today.