SpriteBatch API not designed for the common cases
In most use cases of SpriteBatches, calling
SpriteBatch:bind() before adding/setting sprites and
SpriteBatch:unbind() after adding/setting sprites and before drawing is more beneficial to performance than leaving those calls out.
I think the functionality of
bind/unbind should be folded into the default behaviour of SpriteBatches, and a new function call (or more than one) should be created for the use cases where bind/unbind hurts performance rather than helps (sometimes this is when you call
SpriteBatch:set just once or twice a frame.)