Batching isn't just an optimisation, not having transactional semantics can cause bugs.