@scottcarey - Ah, that issue.  I didn't recognize that you were using this as an opportunity to raise it.  (I should have, sorry.)

Yes, this method has the same issue as dozens of others, including this one pre-change: if the constructed object is passed to another thread without a memory barrier it is possible that the mutation will not exist (which in this case will manifest as an anomalously short list).  I don't think this is relevant for this PR, though, given that `b` was a `ListBuffer`?

In the long run, I suspect that adding a store buffer before passing the result back will be the fastest way to go.