Reuse array builders between batches
This avoids re-allocating memory
(includes a bunch of commits from other MRs)
Staging instance, all changes can be removed at any time
This avoids re-allocating memory
(includes a bunch of commits from other MRs)