I'd suggest taking an instance instead. You can still pass an empty instance, but this has the added utility of letting you accumulate into a pre-existing instance you might have. This would unlock the ability to use the convenience of map
/filter
/etc. in performance sensitive contexts, where you can skip the allocation (because you can reuse one "scratch" collection over and over).
I have some free time this week, so I'll take a crack at this! Where should I reach out if I have any questions or need support?